celery异步任务delay()操作偶尔不执行

问题

celery task任务.delay()偶尔会不执行,通过获取task任务的result发现已经报celery.exceptions.NotRegistered错误

原因

可能是有多个项目的celery broker配置的redis是同一个桶

CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/5'
CELERY_BROKER_URL = 'redis://127.0.0.1:6379/6' #broker代理

解决方法

将多个项目的CELERY_BROKER_URL设置redis时设置不同的桶,如一个项目设置CELERY_BROKER_URL = 'redis://127.0.0.1:6379/6',另一个项目设置CELERY_BROKER_URL = 'redis://127.0.0.1:6379/7'


上一篇 django 多进程下日志写入错乱问题
下一篇 OpenCV中文路径问题