Django应用中修改Celery Worker并发数无效,如何解决?
Celery并发数配置不生效的解决办法
问题根源很明确:你启动Celery worker时的命令行参数-c 4优先级最高,直接覆盖了Django配置和代码里的worker_concurrency设置——这就是为什么超时配置能生效(命令行没指定超时参数),但并发数一直维持4的原因。
解决步骤:
- 修改启动命令,把
-c 4替换为-c 2,新命令如下:/usr/local/bin/python -m celery -A apps worker -l INFO -c 2 --logfile celery_worker.log - 重启所有Celery worker进程,确保新配置加载生效
- 验证结果:执行
celery -A apps inspect stats,查看输出中的"max-concurrency"是否变为2
补充说明Celery配置优先级顺序:命令行参数 > 代码中app.conf的配置 > Django settings中的配置,以后调整这类参数时,优先检查命令行是否有硬编码的设置。
内容的提问来源于stack exchange,提问作者Al Schack
相关产品推荐
相关产品推荐

