У меня есть класс для отправки уведомлений. При инициативе он включает в себя соединение с сервером уведомлений, что требует много времени. Я использую фоновую задачу в Fastapi для отправки уведомлений, так как я не хочу откладывать ответ из -за уведомления. Ниже приведен пример кода. < /P>
file1.py:
noticlient = NotificationClient()
@app.post("/{data}")
def send_msg(somemsg: str, background_tasks: BackgroundTasks):
result = add_some_tasks(data, background_tasks, noticlient)
return result
file2.py:
def add_some_tasks(data, background_tasks: BackgroundTasks, noticlient):
background_tasks.add_task(noticlient.send, param1, param2)
result = some_operation
return result
< /code>
Здесь, клиент уведомлений объявляется во всем мире. Я мог бы инициализировать его в File2.py в разделе add_some_tasks , но он будет инициализироваться каждый раз, когда прибывает запрос, и это потребует некоторое время. Есть ли способ использовать промежуточное программное обеспечение для повторного использования его каждый раз, когда прибывает запрос, так что он не должен быть инициализироваться каждый раз. : Инициализировать уведомление в классе def < /p>
file1.py:
class childFastApi(FastAPI):
noticlient = NotificationClient()
app = childFastApi()
@app.post("/{data}")
def send_msg(somemsg: str, background_tasks: BackgroundTasks):
result = add_some_tasks(data, background_tasks, app.noticlient)
return result
Подробнее здесь: https://stackoverflow.com/questions/763 ... stapi-endp
Как инициализировать глобальный объект или переменную и повторно использовать его в каждой конечной точке FastAPI? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение