【发布时间】:2015-10-04 08:43:48
【问题描述】:
正如我在 celery 中看到的,它可以为一个工作人员获取多个任务,可以同时运行它们。
我需要运行一个任务,并设置可以与该任务同时运行的任务数。
因此,如果我将此数字设置为 2,并将此任务发送给具有 10 个线程的工作者, worker 只能运行另一个任务。
【问题讨论】:
标签: python multithreading celery celery-task
正如我在 celery 中看到的,它可以为一个工作人员获取多个任务,可以同时运行它们。
我需要运行一个任务,并设置可以与该任务同时运行的任务数。
因此,如果我将此数字设置为 2,并将此任务发送给具有 10 个线程的工作者, worker 只能运行另一个任务。
【问题讨论】:
标签: python multithreading celery celery-task
工人将为每个工人的足迹保留任务。如果你想限制worker可以同时执行的任务数量,你应该配置你的并发(例如限制1个任务,你需要worker有1个进程-c 1)。
你也可以检查prefetch配置,但它只定义了为worker的每个进程保留的任务数。
这里是 Celery 文档,其中解释了预取配置: http://celery.readthedocs.org/en/latest/userguide/optimizing.html
【讨论】: