芹菜 - 有顺序任务而不是并发?

Rad*_*Hex 3 python rabbitmq celery django-celery

我有一些使用Amazon API的任务,限制为1 req /秒.

因此,我想将使用Amazon API的任务分组,并将它们排成队列.

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

有任何想法吗?

非常感谢!:)

mhe*_*her 7

从并发等于1的队列中消耗的单个工作人员确保将按顺序处理任务.换句话说,您可以创建一个特殊队列,并且只运行一个芹菜工作者,其并发性等于一:

celery -A tasks worker -Q amazon_queue -c 1
Run Code Online (Sandbox Code Playgroud)

并将任务提交到该队列:

tasks.add.apply_async(args=[1,2], kwargs={}, queue='amazon_queue')
Run Code Online (Sandbox Code Playgroud)

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