Celery池进程,任务以及系统进程和内存空间

问题描述 投票:1回答:1

每个任务在一个唯一的处理空间中执行?

  • 芹菜池(不是Master)进程是否为每个任务执行生成一个进程?
  • 换句话说,每个任务是否通过工作池进程产生的新进程执行?

或者是其他方式吗?

  • 任务是作为工作程序池过程的一部分执行的?
  • 暗示:如果celery任务依赖于存储在进程存储空间中的数据,则该数据是执行该数据的工作池进程的一部分。而且,工作池进程执行的所有任务都可以访问该数据副本。
python celery django-celery celery-task celeryd
1个回答
1
投票

这些细节取决于您为工作人员选择的concurrency model

在默认的前叉模型(基于流程)中,每个任务都在一个预分支的流程(工人流程)中执行。是的-这是一个进程池。您可以配置Celery为每个任务创建一个新的工作进程,但这不是默认行为。默认情况下,Celery不会将旧的工作进程替换为新的工作进程,但您可以使用worker_max_tasks_per_child设置进行控制。

© www.soinside.com 2019 - 2024. All rights reserved.