使用gevent时

时间:2016-05-24 03:04:36

标签: python celery

对于多处理池,我可以使用参数'-c'来指定工作进程的数量。正如下面的节目所示。

celery worker -A celerytasks.celery_worker_init -c 5 --loglevel=info

但对于gevent池,参数'-c'用于指定greenlet编号。如何启动多个工作进程?

或者,如果我必须启动多个工作程序而不是一个具有多个进程的工作程序,我可以使用一个命令执行此操作吗?

1 个答案:

答案 0 :(得分:2)

此命令将运行具有5个池进程的1个worker。这意味着你有一个工人能够执行5个任务。

如果你使用gevent,唯一的区别是芹菜将使用绿色线程而不是prefork来执行这个任务,但要注意这个含义你可以read here(它是关于eventlet但是同样的概念适用)

如果要运行具有不同参数(队列,并发)的多个工作人员,则需要使用celery multi command

celery multi start 3 -c 3 -c:1 10
celery worker -n celery1@myhost -c 10
celery worker -n celery2@myhost -c 3
celery worker -n celery3@myhost -c 3