我有一个使用 rabbitmq 和 celery 的设置,工作人员在 4 台机器上运行,每台机器有 4 个实例。我定义了两个任务函数,它们基本上调用相同的后端函数,但其中一个process_transaction
未定义 rate_limit 命名,另一个slow_process_transaction
名为rate_limit="6/m"
. 任务进入 rabbitmq 上的不同队列,slow
并且normal
.
奇怪的是对这两个任务都执行了 rate_limit。如果我尝试使用 更改 rate_limit celery.control.rate_limit
,则使用process_transaction
不会更改有效汇率,并且使用slow_process_transaction
名称会更改两者的有效汇率。
关于什么是错的任何想法?