【发布时间】:2021-06-06 03:22:42
【问题描述】:
我想知道是否可以为队列设置不同的预取乘数。
我有 2 个队列,一个运行的任务非常短,另一个稍长一些。较短任务的队列需要优先于其他任务。
为了确保优先级工作可靠,必须在 celery 配置中进行设置:
task_acks_late = True
worker_prefetch_multiplier = 1
但是,这确实会损害快速任务队列的性能。是否可以配置,如果worker从快速任务队列中获取,worker_prefetch_multiplier是4,如果worker从慢任务队列中获取worker_prefetch_multiplier是1?
【问题讨论】:
-
据我所知这是不可能的。最简单的解决方案是运行两个工作人员,每个工作人员都使用预取的预取乘数值订阅特定队列。
标签: python python-3.x celery