Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where do you set the task_id of a celery task?

I am having trouble finding any example of setting a task_id with my own task_id

something along these lines...

def testview1(request):
    for i in xrange(0,1000):
        result = add.delay( i, 4,task_id = i)
        print result.info
        #value = result.wait()
    return HttpResponse("Done") 


@task()
def add(task_id, x, y):
    print add.task_id
    print str(x+y)
    return x + y
like image 504
michael Avatar asked Apr 19 '12 19:04

michael


1 Answers

delay doesn't support options, it's a shortcut to apply_async:

add.apply_async(args, kwargs, task_id=i)

add.apply_async((1, 4), task_id=i)

Also the id of the current task is in task.request.id not task.id like you have above.

like image 136
asksol Avatar answered Sep 20 '22 23:09

asksol