celery:Unrecoverable error: AttributeError("'unicode' object has no attribute 'iteritems')


環境描述

python2+django1.9下使用celery異步處理耗時請求。
celery使用的是celery-with-redis這個第三方庫,版本號為3.0。

pip install celery-with-redis

這樣安裝會將redis、celery-with-redis、redis等一起同時安裝。

錯誤描述

錯誤提示:Unrecoverable error: AttributeError("'unicode' object has no attribute 'iteritems')

問題發現及解決

將這個錯誤Google后,在stackoverflow中發現了解決辦法,地址:stack overflowcelery-github
問題的症結是redis的版本號為3.0以上,導致celery將其作為消息中間件的時候出現問題,給出的解決方案是安裝3.0以下的redis版本。這里我們安裝redis==2.10.6

  • 首先
pip uninstall redis
  • 其次
pip install redis==2.10.6
  • 最后
    重新運行celery即可。
celery worker -A xxx -l INFO


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM