Celery 4.4如何在代码内默认开启--without-gossip参数?
修改Celery 4.4中--without-gossip参数的默认值为True
要在代码内全局修改--without-gossip的默认值,无需依赖命令行参数或app.worker_main,可以直接修改Celery Worker命令的参数默认配置,步骤如下:
- 导入Celery核心类和Worker命令类
- 遍历Worker命令的所有选项,定位
--without-gossip对应的参数项 - 将该参数的默认值从
False改为True
具体代码示例:
from celery import Celery from celery.bin.worker import WorkerCommand # 遍历Worker命令选项,修改--without-gossip的默认值 for opt in WorkerCommand.get_options(): if '--without-gossip' in opt._long_opts: opt.default = True break # 正常初始化Celery应用 app = Celery('your_app_name') # 配置broker、任务等 app.conf.broker_url = 'redis://localhost:6379/0'
这样设置后,无论通过celery worker命令还是其他方式启动worker,--without-gossip都会默认生效(即默认关闭gossip功能),无需手动添加命令行参数。
内容的提问来源于stack exchange,提问作者Sacha
相关产品推荐
相关产品推荐

