【发布时间】:2011-05-08 08:07:56
【问题描述】:
我正在尝试实现一个一次执行一项任务的简单队列。使用 Celery 将任务从主线程中卸载并在 Celery 配置中设置 concurrency=1 可以正常工作,但我可能希望为其他任务使用更多并发工作人员。
有没有办法告诉 Celery 或 RabbitMQ 不要为一个任务使用多个并发工作人员(强制并发 = 1 除外)?我在文档中找不到任何内容,但也许这些工具不是为线性队列设计的?
谢谢!
【问题讨论】:
我正在尝试实现一个一次执行一项任务的简单队列。使用 Celery 将任务从主线程中卸载并在 Celery 配置中设置 concurrency=1 可以正常工作,但我可能希望为其他任务使用更多并发工作人员。
有没有办法告诉 Celery 或 RabbitMQ 不要为一个任务使用多个并发工作人员(强制并发 = 1 除外)?我在文档中找不到任何内容,但也许这些工具不是为线性队列设计的?
谢谢!
【问题讨论】:
我认为您需要为每种类型的任务设置一个单独的队列。创建从每个队列消费的单独工作人员,并发设置为 1。
【讨论】: