芹菜工人和工人流程

时间:2019-02-15 16:27:27

标签: celery django-celery

芹菜中的工人与工人过程之间是什么关系?在单个计算机上运行多个工作程序是否有意义? 这是系统配置

8核和32GB RAM。

我尝试过的芹菜配置如下

celery -A Comments_DB worker --loglevel=INFO --concurrency=8

我想增加在给定时间范围内处理的请求数。哪种方法更好?

a。 2个并发设置为8(2 * 8 = 16)或

b。 1个并发设置为16 * 1 * 16 = 16)的工作程序?

有人可以澄清吗?

1 个答案:

答案 0 :(得分:0)

一个工作程序(父进程)将具有一个或多个工作程序进程(子进程)。这样,如果任何子进程由于错误或最大任务限制而死亡,则父进程可以启动另一个子进程。

并发性为16的父进程通常比并发性为8的两个进程具有更好的性能。这是因为一个进程比两个进程具有更少的进程开销。如果您有多个队列,并且想要确保较慢的队列不会阻止其他重要的队列任务进行处理,则可能需要两个进程。