SSE с sse-starlette и FastAPI не отвечает [дубликат]Python

Программы на Python
Ответить
Anonymous
 SSE с sse-starlette и FastAPI не отвечает [дубликат]

Сообщение Anonymous »

У меня есть только две конечные точки в моем коде Python.
Одна конечная точка FastAPI содержит логику, выполнение которой занимает около минуты.
Другая — это конечная точка SSE, которая использует sse-starlette EventSourceResponse.
Оба метода являются асинхронными.
Пример

Код: Выделить всё

async def report_sse():
while True:
global status_changed
if status_changed:
status_changed = False
yield f'status was changed'
await sleep(1)
yield " "

@app.get("/sse")
async def sse():
return EventSourceResponse(report_sse())
и

Код: Выделить всё

@app.post("/heavy")
async def heavy_endpoint():
# some long running code here
Проблема в том, что при работе тяжелой конечной точки sse больше не вызывается.
Может ли кто-нибудь привести аналогичный пример или рассказать, как я могу ее решить?
Я пытался использовать очередь и потоки для тяжелой конечной точки

Подробнее здесь: https://stackoverflow.com/questions/792 ... responsive
Ответить

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

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

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

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

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