djang-celery运行时出现AttributeError("'str' object has no attribute 'items'",)

 版本号:django-celery==3.3.1,celery==3.1.25

错误显示:

File "c:\users\lx\.virtualenvs\env1-flvzepon\lib\site-packages\kombu\transport\redis.py", line 146, in append
pipe.zadd(self.unacked_index_key, delivery_tag, time()) \
File "c:\users\lx\.virtualenvs\env1-flvzepon\lib\site-packages\redis\client.py", line 2685, in zadd
for pair in iteritems(mapping):
File "c:\users\lx\.virtualenvs\env1-flvzepon\lib\site-packages\redis\_compat.py", line 159, in iteritems
return iter(x.items())
AttributeError: 'str' object has no attribute 'items'

解决办法:

进入c:\users\lx\.virtualenvs\env1-flvzepon\lib\site-packages\kombu\transport\redis.py

修改146行:

pipe.zadd(self.unacked_index_key, delivery_tag, time())

修改为:

pipe.zadd(self.unacked_index_key, {delivery_tag: time()})

重新输入指令:

celery worker -A djangoProject -l debug

发现可以正常运行

posted @ 2020-12-21 13:20  Bert-H  阅读(293)  评论(0)    收藏  举报