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

时间:2012-07-11 08:33:07

标签: python python-2.7 celery django-celery

如何将django请求对象传递给芹菜工作者。当尝试传递请求对象时,它会抛出错误

Can't Pickle Input Objects

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

CELERY_TASK_SERIALIZER = "JSON"

但它没有用。

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

提前致谢...

1 个答案:

答案 0 :(得分:10)

你无法挑选Django的请求对象(有关详细信息,请参阅this question)。相反,您应该将所需的请求对象中的相关信息传递给Celery任务。

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