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

相关文章
相关标签/搜索