zoukankan      html  css  js  c++  java
  • Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错

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

    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

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

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

  • 相关阅读:
    eclipse中的项目如何打成war包
    【SVN】Please execute the 'Cleanup' command.
    2021.06.02模拟赛DP2
    2021.05.26模拟赛 DP1
    状压DP
    高斯消元
    矩阵快速幂
    2021.05.10讲题
    Luogu P2152[SDOI 2009]Super GCD
    Tarjan
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/12153416.html
Copyright © 2011-2022 走看看