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'