提前致谢 :)
我有这个异步芹菜任务调用:
update_solr.delay(id, context)
其中 id 是一个整数,context 是一个 Python 字典。
我的任务定义如下:
@task
def update_solr(id, context):
clip = Clip.objects.get(pk=id)
clip_serializer = SOLRClipSerializer(clip, context=context)
response = requests.post(url, data=clip_serializer.data)
whereclip_serializer.data
是一个 dict 并且url
是一个表示 url 的字符串。
当我尝试调用update_solr.delay()
时,我收到此错误:
PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup __builtin__.instancemethod failed
任务的两个参数都不是实例方法,所以我很困惑。
当任务代码同步运行时,没有错误。
更新:修复了关于传递 pk 而不是对象的评论。