码迷,mamicode.com
首页 > Web开发 > 详细

Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错

时间:2020-01-05 20:31:40      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:ble   family   目的   accept   成功   content   tin   not   报错   

在本文中例子中遇到问题的各种开发版本如下:

Python3.6.8

Django==2.2

celery==4.4.0

kombu==4.6.7

redis==3.3.0

大概的报错如下截图:

是在开发使用celery+redis+django的场景中遇到的错误

技术图片

kombu.exceptions.EncodeError:Object of type is not JSON serializable

解决方式:

在项目的setting中增加这样的配置,才可以

# celery==4 需要的配置参数

CELERY_TASK_SERIALIZER = ‘pickle‘

CELERY_RESULT_SERIALIZER = ‘pickle‘

CELERY_ACCEPT_CONTENT = [‘pickle‘, ‘json‘]

 

报错原因:

celery4版本的 默认使用 JSON 作为 serializer ,而 celery3版本的默认使用 pickle

所以为了让报错消除,需要添加以上设置。

最好问题得到成功解决:运行如下结果

技术图片

Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错

标签:ble   family   目的   accept   成功   content   tin   not   报错   

原文地址:https://www.cnblogs.com/hszstudypy/p/12153416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!