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