2012-04-19 11 views
9

Tôi gặp khó khăn khi tìm bất kỳ ví dụ về cách thiết lập một task_id với task_id riêng tôiBạn đặt task_id của nhiệm vụ cần tây ở đâu?

một cái gì đó dọc theo những dòng ...

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 

Trả lời

20

chậm trễ không hỗ trợ tùy chọn, đó là một phím tắt để apply_async:

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

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

Ngoài ra, id của tác vụ hiện tại nằm trong task.request.id không phải task.id như bạn đã nêu ở trên.

+0

Cảm ơn! Tôi có một câu hỏi khác mà bạn có thể giúp tôi. – michael

+0

http://stackoverflow.com/questions/10238477/mopping-up-after-celery-results-when-stored-in-db – michael