【问题标题】:Heroku/Celery: Simultaneous tasks on one worker?Heroku/Celery:一名工人同时执行任务?
【发布时间】:2012-09-22 03:36:54
【问题描述】:

是否可以使用 Celery 设置多个更新任务,以便在 Django/Heroku 上同时在一个工作人员上运行?如果我安排某些功能每 5 分钟运行一次,它们会在开始运行时自动重叠,还是会等到所有其他任务完成?我是 Celery 的新手,坦率地说,我对它能做什么感到困惑? ):

【问题讨论】:

    标签: django heroku celery


    【解决方案1】:

    默认情况下,Celery 使用多处理来执行任务的并发执行。 Celery worker 启动一个进程池来消耗任务。池中的进程数由 --concurrency 参数设置,默认为机器上可用的 CPU 数。

    因此,如果并发级别大于 1,则任务将并行处理。

    【讨论】:

    • 所以本质上,在 celery beat 中指定重叠时间(每 15 分钟 10 个任务)是可以的,如果一次尝试超过 concurrency 参数,任务将自动排队?
    • celerybeat 定期发布任务。即使任务不同时发布,也可以并行处理。
    猜你喜欢
    • 2015-08-08
    • 2014-10-23
    • 2020-07-01
    • 1970-01-01
    • 2016-12-13
    • 2020-12-26
    • 2016-12-31
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多