我使用python 2.7和django 1.27,我使用芹菜任务。django通过当地人()芹菜任务
我有这种说法
def my_view(request):
do_stuff()
local_1 = 1
local_2 = 4
celery_delayed_task(locals())
return HttpResponse('OK')
这导致了这个错误时抛出
Passing locals() fails: a class that defines slots without defining getstate cannot be pickled
所以我想也许我需要创建当地人的副本()字典,因为任务将被调用时,该视图不再存在。
我试试这个:
def my_view(request):
do_stuff()
local_1 = 1
local_2 = 4
locals_dict = copy.deepcopy(locals())
celery_delayed_task(locals_dict)
return HttpResponse('OK')
,现在我得到这个错误:
Deepcopy of object fails: object.new(cStringIO.StringO) is not safe, use cStringIO.StringO.new()
显然我这样做不对,有什么想法?