'Celery tasks get blocked by SSE client
I am running a SSE consumer in order to update a few tables like this
@app.task(ignore_result=True)
@worker_ready.connect
def xx_sse_nodes_uptime_info_consumer(sender, **kwargs):
update_tables...
By some reason, other tasks are not triggered when we have a .delay calling other tasks. If I remove the task above, other tasks will work normally.
Also, when CELERY_TASK_ALWAYS_EAGER=True and CELERY_TASK_EAGER_PROPAGATES=True everything runs fine.
Since the SSE consumer uses stream=True the xx_sse_nodes_uptime_info_consumer never ends. I am not sure why this blocks others tasks tho as there are enough threads.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
