将参数请求传递给Django中的芹菜任务

时间:2013-08-31 14:22:02

标签: python django django-celery

我有一个简单的问题,我们如下:

@task()
def upload_image(request):
     var = request.POST

     # ... do something

我们用另一种方法称它为这种方法的延迟:

job = upload_image.delay(request)

这显然不起作用,在我阅读之后,您可以将消息传递给像简单的argargskwargs**这样的芹菜任务,但我想要的只是传递一个简单的对象,不是字符串或字符串列表,无论如何都要在芹菜中做到这一点吗?

问候!

3 个答案:

答案 0 :(得分:0)

正如您可以从docs中读到的,您的示例应该有效。

from celery import task

@task()
def add(x, y):
    return x + y

add.delay(2, 2)

答案 1 :(得分:0)

只要您使用标准的pickle序列化程序,这就可以正常工作。

答案 2 :(得分:0)

这不适用于标准pickler。在此处查看更多内容(基本上是重复的):passing django request object to celery task