我有一些任务使用Amazon API,该API限制为1 req/秒。
因此,我想将使用Amazon API的任务分组,并将它们按顺序排列。
我所知道的只是如何将队列与每个任务关联起来。但不知道如何删除特定队列中的并发性。
有什么想法吗?
非常感谢!:)
从一个并发性等于1的队列中消耗单个工作人员可以确保按顺序处理任务。换句话说,您可以创建一个特殊的队列,并且只运行一个并发性等于1的芹菜工作程序:
celery -A tasks worker -Q amazon_queue -c 1
并将任务提交到该队列:
tasks.add.apply_async(args=[1,2], kwargs={}, queue='amazon_queue')
或者对某些任务类型使用自动路由。