celery報錯筆記

最近在django項目中使用celery時碰見的bug:redis

在使用celery+redis進行異步任務的時候,有的任務可以執行成功,有的任務不能執行成功,錯誤的任務報錯(notregistered):django

重啓redis服務沒法解決。異步

解決辦法:從新開啓一個redis服務,便可解決(個人解決辦法),猜想更換broker庫便可,例:0 -> 2。blog

緣由猜想:配置

出現這種問題,通常都是對celery任務代碼或配置信息進行了相關修改(clery任務調用方式或傳入參數的修改,celery的backend存放位置的修改等)bug

有多是redis中存在相關持久化文件,記住了前面的任務和配置信息,使得redis(broker)在進行任務分發給worker的時候出現混亂,形成錯誤(notregistered,got an unexpected argument等等)celery

 

django-celery 報錯:

 

 將djcelery>management>commands>celery.py>將如下代碼註釋掉便可command

 

 

celery beat報錯

 

 解決方案:刪除項目中存在的celerybeat.pid文件,從新啓動便可im

相關文章
相關標籤/搜索