python - 使用 gevent 时工作进程数的 Celery 命令行参数

标签 python celery

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

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

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

或者如果我必须启动多个 woker 而不是一个 worker 有多个进程,我可以用一个命令来完成吗?

最佳答案

此命令将运行 1 个 worker 和 5 个池进程。这意味着您有一个 worker 可以同时执行 5 个任务。

如果您使用 gevent,唯一的区别是 celery 将使用绿色线程而不是 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

关于python - 使用 gevent 时工作进程数的 Celery 命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37403709/

相关文章:

Python - 根据 2 个标准(案例和时间序列)组合 2 个数据库

python - 不同 Docker 容器中不同 python 应用程序的 celery 任务

python - 检测 Celery 是否可用并正在运行

python - 按消费者分配 celery worker

python - 索引错误: index out of bounds

python - 在 lxml 中使用第二个命名空间时从元素中提取值

python - Sentry - 同时记录 Flask 和 Sentry/相同的 DSN

django - 如何使用 Django 配置 Celery Daemon

python - 更改 databricks 笔记本的默认语言

python - 多客户端流式 Websocket 端点 (Python)