Heroku/Celery:一名工人同时执行任务?
Posted
技术标签:
【中文标题】Heroku/Celery:一名工人同时执行任务?【英文标题】:Heroku/Celery: Simultaneous tasks on one worker? 【发布时间】:2012-09-22 03:36:54 【问题描述】:是否可以使用 Celery 设置多个更新任务,以便在 Django/Heroku 上同时在一个工作人员上运行?如果我安排某些功能每 5 分钟运行一次,它们会在开始运行时自动重叠,还是会等到所有其他任务完成?我是 Celery 的新手,坦率地说,我对它能做什么感到困惑? ):
【问题讨论】:
【参考方案1】:默认情况下,Celery 使用多处理来执行任务的并发执行。 Celery worker 启动一个进程池来消耗任务。池中的进程数由 --concurrency 参数设置,默认为机器上可用的 CPU 数。
因此,如果并发级别大于 1,则任务将并行处理。
【讨论】:
所以本质上,在 celery beat 中指定重叠时间(每 15 分钟 10 个任务)是可以的,如果一次尝试超过 concurrency 参数,任务将自动排队? celerybeat 定期发布任务。即使任务不同时发布,也可以并行处理。以上是关于Heroku/Celery:一名工人同时执行任务?的主要内容,如果未能解决你的问题,请参考以下文章