Как инициализировать глобальный объект или переменную и повторно использовать его в каждой конечной точке FastAPI?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как инициализировать глобальный объект или переменную и повторно использовать его в каждой конечной точке FastAPI?

Сообщение Anonymous »

У меня есть класс для отправки уведомлений. При инициативе он включает в себя соединение с сервером уведомлений, что требует много времени. Я использую фоновую задачу в 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»