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參數,並將該參數設置為空,可以規避這個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM