gpt4 book ai didi

concurrency - Celery:具有并发和保留任务的 worker 仅运行1个任务

转载 作者:行者123 更新时间:2023-12-03 20:27:28 24 4
gpt4 key购买 nike

我的代码中的某些任务花费的时间越来越长。

经过检查,我注意到尽管我的工作程序节点设置为并发6,并且有6个进程可以“执行工作”,但是“正在运行的任务”下仅显示了1个任务。这是一些视觉上的证明:

这是工作程序选项:



这是只有一个正在运行的进程的工作人员的任务选项卡:



我发现如果重新启动celery,并发性将再次得到尊重,并且我将看到> 1正在运行的任务,但是经过一定时间/任务后,它将恢复为该行为。

有什么解决此间歇性问题的想法吗?

最佳答案

我不确定这是否是您的用例,但是当我混合使用长任务和短任务时,也会遇到类似的问题。基本上发生的事情是某个进程可以在某个时刻启动一个运行时间很长的任务,同时预取其他一些任务,以防止其他进程消耗它们。因此,我禁用了预取功能,这仅在您执行许多简短任务时才有用。

要禁用预取,例如,您需要Celery 3.1+和Ofair setting

celery -A proj worker -l info -Ofair

关于concurrency - Celery:具有并发和保留任务的 worker 仅运行1个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24519559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com