由于最新的celery4.2不支持windows系统,因此按照网上的建议安装了3.1.25版。按照官网的说明使用
app.conf.beat_schedule = {
'add-every-30-seconds': {
'task': 'tasks.add',
'schedule': 30.0,
'args': (, )
},
}
app.conf.timezone = 'UTC'
- 问题是:开启worker和beat进程后发现周期性任务没有被执行?
- 花了不少时间查了查,最终发现,解决办法:
celery4中才引入了beat_schedule这些小写变量,以前都是大写变量。即:Version 4.0 introduced new lower case settings and setting organization. 具体见说明。
因此,我就把变量名改回了大写CELERYBEAT_SCHEDULE。果然成功了。