确保一次执行Celery任务而不会阻塞子流程

时间:2020-08-19 10:09:33

标签: python celery

我有两个长期运行的芹菜任务 A B ,它们在远程工作程序上运行,我希望该工作程序能够运行 A < / em>和 B 同时进行,同时一次处理 A B (尽管每个计划任务最终都应处理)。

celery documentation中,他们解释了如何通过使用锁来实现这一目标,而我所见过的类似问题的所有答案也都依赖于锁。

但这不适用于我的用例,因为这涉及为等待启动的每个任务阻塞一个子进程(正如我所说的任务长时间运行,每个任务都应该运行)。例如, A 任务很有可能会阻塞所有子进程,从而阻止 B 任务运行一段时间。

有没有更好的方法来实现我想要的?

我正在将Celery与django和redis代理/后端一起使用。

0 个答案:

没有答案