Задачи Celery блокируются клиентом SSE

Я запускаю потребитель SSE, чтобы обновить несколько таблиц следующим образом

@app.task(ignore_result=True)
@worker_ready.connect
def xx_sse_nodes_uptime_info_consumer(sender, **kwargs):
   update_tables...

По какой-то причине другие задачи не срабатывают, когда у нас есть .delay, вызывающий другие задачи. Если я удалю задачу выше, другие задачи будут работать нормально.

Также, когда CELERY_TASK_ALWAYS_EAGER=True и CELERY_TASK_EAGER_PROPAGATES=True все работает нормально.

Поскольку потребитель SSE использует stream=True, xx_sse_nodes_uptime_info_consumer никогда не заканчивается. Я не уверен, почему это блокирует другие задачи, ведь потоков достаточно.

Вернуться на верх