4

我有一些使用亚马逊 API 的任务,限制为 1 个请求/秒。

因此,我想对使用 Amazon API 的任务进行分组,并将它们排成一个顺序队列。

我所想的只是如何将队列与每个任务相关联。但不知道如何删除特定队列中的并发。

有任何想法吗?

非常感谢!:)

4

1 回答 1

8

单个worker从一个队列中消费,并发等于1,确保任务将按顺序处理。换句话说,您可以创建一个特殊的队列并仅运行一个并发等于一的 celery worker:

celery -A tasks worker -Q amazon_queue -c 1

并将任务提交到该队列:

tasks.add.apply_async(args=[1,2], kwargs={}, queue='amazon_queue')

或者对某些任务类型使用自动路由

于 2012-07-27T13:22:42.243 回答