Django-celery:将请求对象传递给worker

Nic*_*ick 6 python celery python-2.7 django-celery

我怎样才能将django请求对象传递给芹菜工人.当尝试传递请求对象时,它会抛出一个错误

Can't Pickle Input Objects
Run Code Online (Sandbox Code Playgroud)

似乎celery序列化传递给worker的任何参数.我尝试使用其他序列化方法,如JSON.

CELERY_TASK_SERIALIZER = "JSON"
Run Code Online (Sandbox Code Playgroud)

但它没有用.

是否可以配置芹菜,以便它不会序列化数据.或者我可以在传递给worker之前将请求对象转换为字符串,然后再转换回worker中的对象.

提前致谢...

Sim*_*ser 10

你不能挑选Django的请求对象(有关更多详细信息,请参阅此问题).相反,您应该将所需的请求对象中的相关信息传递给Celery任务.

将其他信息传递给Celery任务应该没有问题,因为大多数对象可以没有问题地被腌制.