celery处理任务老是出错
这里报错,是celery内部使用redis库时,报错,redis接受celery传入的str类型,而redis要接受的是mapping映射类型,肯定是哪个版本冲突,不兼容
1. 首先先看celery版本问题
django==1.8.1与celery==3.1.25不兼容,可以使用django==1.11与celery==3.1.25搭配 ,
celery==4.0以后使用了python3.5之后推出的async和await定义协程,所以如果想使用celery==4.0及以后版本,则需要python3.5以上最好是python3.6,python3.5也会报错,django要使用2.0
这是celery版本问题
2. 再来看看redis版本,反正是其中之一
解决方案:
查了好久发现原来是因为以前下的redis版本过高,重装redis
sudo pip3 install redis==2.10.6
最好的办法是捆绑依赖下载
对 Redis 的支持