有什么区别
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 使用多进程。
有人可以给我建议来扩展我的芹菜配置。我是这方面的新手,因此,我想知道我对芹菜有什么样的配置才能充分利用芹菜。
两者之间有很大的区别。
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 个工作进程!