【问题标题】:Celery - Having sequential tasks rather than concurrent?芹菜 - 有顺序任务而不是并发?
【发布时间】:2012-07-23 18:34:38
【问题描述】:

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

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

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

有什么想法吗?

非常感谢! :)

【问题讨论】:

  • 您的问题不清楚。你浏览过 celery 文档吗

标签: python rabbitmq celery django-celery


【解决方案1】:

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

celery -A tasks worker -Q amazon_queue -c 1

并将任务提交到该队列:

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

或者对某些任务类型使用automatic routing

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2017-08-28
    • 2016-11-17
    • 2017-09-30
    • 2014-08-07
    相关资源
    最近更新 更多