celery beat 之Pidfile (celerybeat.pid) already exists报错
Posted 863652104kai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了celery beat 之Pidfile (celerybeat.pid) already exists报错相关的知识,希望对你有一定的参考价值。
celery beat 之Pidfile (celerybeat.pid) already exists报错
今天在django中利用celery来自动添加任务时,执行celery beat -A celery_task -l info
启动一个添加任务的服务时报错:Pidfile (celerybeat.pid) already exists
报错原因
celery beat在运行时,会自动创建两个文件:
- pidfile:默认为celerybeat.pid,保存在项目根目录。
- scheduler:默认为celerybeat-schedule,保存在项目根目录。
这里的报错说明pidfile已存在。上次运行的时候,已经自动创建了,进程结束的时候并未自动删除,从而导致再次运行的时候报错了。
解决方法
直接删除这个pidfile文件,再次启动celery beat
celery beat -A celery_task -l info
运行成功了。
那么难道每次重启都得先删除么?参考网上说法,如果在启动celery beat的时候配置pidfile参数,并将该参数设置为空,可以规避这个问题。
以上是关于celery beat 之Pidfile (celerybeat.pid) already exists报错的主要内容,如果未能解决你的问题,请参考以下文章
Django 项目celery beat报错:Pidfile already exists
基础入门_Python-模块和包.深入Celery之Beat触发定时/周期性任务?