芹菜池进程、任务和系统进程及内存空间



每个任务都在唯一的流程空间中执行?

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

还是相反?

  • 任务是作为工作线程池进程的一部分执行的?
  • 这样做的一个含义是:如果芹菜任务依赖于存储在进程内存空间中的数据,则该数据是执行它的工作线程池进程的一部分。而且,工作线程池进程执行的所有任务都可以访问该数据副本。

这些详细信息取决于您为辅助角色选择的并发模型。

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

相关内容

  • 没有找到相关文章

最新更新