如何将dajngo请求参数传递给celery任务

时间:2019-07-03 07:40:19

标签: django-rest-framework celery

无法将Django请求参数传递给celery任务

我正在这样调用芹菜任务方法。 My_task((request,application_data.id),task_id = task_id)

我的任务方法是这样的: @shared_task(name =“ create-cloud-storage-task”) def My_task(request_data,id):

但是抛出错误提示无法发送请求对象? 这段代码有什么问题

1 个答案:

答案 0 :(得分:0)

由于请求对象包含对不实际序列化的内容的引用(例如上载的文件或与请求关联的套接字),因此没有通用的序列化方法。

相反,您应该拔出并传递需要的部分。例如,类似:

如果您在任务中使用user_id或将要使用的其他任何方式。

My_task((request.user.id, application_data.id), task_id=task_id)

@shared_task(name="create-cloud-storage-task")
def My_task(request_user_id, id):

参考:passing django request object to celery task