芹菜未注册的任务KeyError异常(Celery unregistered task KeyErr

2019-10-20 13:00发布

我通过执行在终端中输入以下启动工作:

celery -A cel_test  worker --loglevel=INFO --concurrency=10 -n worker1.%h

然后,我弄了半天循环错误消息指出芹菜已收到一个未注册的任务,并已触发:

KeyError: 'cel_test.grp_all_w_codes.mk_dct' #this is the name of the task

这里的问题是, cel_test.grp_all_w_codes.mk_dct不存在。 事实上,甚至没有一个模块cel_test.grp_all_w_codes更不用说任务mk_dct 。 曾经有一个前几天,但我因为它删除了。 我想也许有一个.pyc文件左右浮动,但没有。 我也无法找到我的代码到的投掷错误的任务单一的参考。 我关闭了我的电脑并重新启动服务器的RabbitMQ想着也许东西的参考只是停留在内存中,但它并没有帮助。

没有人有任何想法可能是什么问题就在这里,否则我缺少的是什么?

Answer 1:

好了,不知道你的conf文件,我可以看到两个原因,会招来这样的:

  • mk_dct当你停止了工作人员,并删除模块任务未完成。 如果你正在与运行CELERY_ACKS_LATE ,它会尝试重新启动您重新运行该工人的任务每次。 尝试删除此设置,或与发动工人清除选项。

celery -A cel_test worker --loglevel=INFO --concurrency=10 -n worker1.%h --purge

  • mk_dct任务由你的芹菜拍推出。 如果是这样,请尝试重新发动芹菜节拍和清除它的数据库后端,如果你有一个自定义的。

如果不解决这个问题,请发表您的芹菜的conf,并确保您已清除所有的.pyc的项目并重新启动一切。



文章来源: Celery unregistered task KeyError