通过查看celery代码,知道大概原因:
celery beat 在启动的时回去创建存储定时任务信息的数据库(参见shelve模块),但是该文件已存在,所以导致启动beat的时候报错, 解决办法是将该文件删除,然后重启beat即可。
db 文件为celerybeat-schedule
celerybeat-schedule