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

django 2.2, celery 4.3,出现 kombu.exceptions.EncodeError: cannot serialize '_io.BufferedReader' object 的分析解决

时间:2020-05-21 14:47:28      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:init   __init__   ret   返回   war   server   read   返回结果   can   

情况说明:celery 默认解析为 pickle

 class xxxxx():
    def __init__(self,request):
            self.request = request (这个是 django 请求的 requst <WSGIRequest: POST ‘/server/xxxxx/‘>,最后把这个去掉就好了,)
    def funcA(self,x,y):
            return x,y
    def funcB(self):
            # website_request 这是我 app 下的  tasks.py 里的一个函数  ,然后把它放入后台,根据返回结果去调用 self.funcA
             website_request.apply_async(kwargs={‘fun‘:self.funcA,‘x‘:1,‘y‘:1})
     

分析:

  • 把函数传入后台时,不要在初始化的时候,传入一些 pickle 不能解析的函数,列如 接受 django 请求的 request,其他的目前未发现

django 2.2, celery 4.3,出现 kombu.exceptions.EncodeError: cannot serialize '_io.BufferedReader' object 的分析解决

标签:init   __init__   ret   返回   war   server   read   返回结果   can   

原文地址:https://www.cnblogs.com/zdoubly/p/12930572.html

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