姜戈芹菜速率限制设置无法按预期工作



我使用以下命令创建一个工作者:

celery -A proj worker -l info --concurrency=50 -Q celery,token_1 -n token_1

在我的任务中,我将速率限制设置为4000/m

然而,当我开始运行集合时,我注意到处理的平均任务大约为10-20/s(启用了速率限制规则4000/m(。然后,我取消了速率限制规则,现在任务速率变为60/s左右。

我很困惑,因为我的费率限制是4000/m,相对来说是65/s。为什么它最终只是10-20/s?????(我已经为工人设置了50个线程……(

您误解了芹菜的限速操作方式根据4.2版文件:

可以通过在值后添加"/s">`、"/m">的"/h">,以秒、分钟或小时为单位指定速率限制。任务将在指定的时间范围内平均分配。

示例:“100/m”(每分钟100个任务(。这将强制在同一工作实例上启动两个任务之间至少延迟600ms。

从本质上讲,芹菜在您的任务之间增加了强制延迟。由于每个任务已经在大约16毫秒(1/60秒(内完成处理,因此在任务之间再增加16毫秒的强制延迟会降低它们的处理速度。

相关内容

  • 没有找到相关文章

最新更新