【发布时间】:2012-12-21 19:12:50
【问题描述】:
我有一个使用 rabbitmq 和 celery 的设置,工作人员在 4 台机器上运行,每台机器有 4 个实例。我定义了两个任务函数,它们基本上调用了相同的后端函数,但其中一个名为process_transaction,没有定义rate_limit,另一个名为slow_process_transaction,带有rate_limit="6/m"。任务进入 rabbitmq 上的不同队列,slow 和 normal。
奇怪的是对这两个任务都执行了 rate_limit。如果我尝试使用 celery.control.rate_limit 更改 rate_limit,使用 process_transaction 执行此操作不会更改有效汇率,而使用 slow_process_transaction 名称会更改两者的有效汇率。
有什么想法吗?
【问题讨论】: