Задачи 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 никогда не заканчивается. Я не уверен, почему это блокирует другие задачи, ведь потоков достаточно.