Celery 并发与工作人员数量

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

有什么区别

celery -A tasks worker -l info --concurrency=4

还有

celery -A tasks worker -l info -n worker1@%h 
celery -A tasks worker -l info -n worker2@%h 
celery -A tasks worker -l info -n worker3@%h 
celery -A tasks worker -l info -n worker4@%h

如果 celery 默认使用多进程,在上述 2 种情况下,它是通过

--concurrency=4
切换到多线程还是 it Steel 使用多进程。

有人可以给我建议来扩展我的芹菜配置。我是这方面的新手,因此,我想知道我对芹菜有什么样的配置才能充分利用芹菜。

python redis celery
1个回答
0
投票

两者之间有很大的区别。

celery -A tasks worker -l info --concurrency=4

上面的命令将以默认(分叉前)并发模式启动 Celery Worker。 Celery 工作进程将产生四个执行任务的工作进程。

但是,

celery -A tasks worker -l info -n worker1@%h 
celery -A tasks worker -l info -n worker2@%h 
celery -A tasks worker -l info -n worker3@%h 
celery -A tasks worker -l info -n worker4@%h

将创建四个 Celery工作进程。它们中的每一个都将以默认(分叉前)并发模式运行,并且每一个都会生成 N 个工作进程来执行任务。现在,假设您在 N=8 核的机器上运行它。 - 你最终将得到 32 个工作进程!

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