背景
Django项目运行celery定时任务celery beat时,报错如下:
排查
经过排查,发现celerybeat运行时,会自动创建一个pidfile文件,默认为celerybeat.pid,存放在项目根目录下:
正常情况下:celerybeat停止运行时,celerybeat.pid文件会自动生成,下次运行时再自动创建。
上述问题出现的原因就是celerybeat时非正常停止运行,导致了celerybeat.pid文件没有自动删除,以至于再次运行时报错。
解决办法
手动删除celerybeat.pid文件即可。删除之后,再次运行,正常。