我想創建一個在一組中的任務是和絃自己的和絃。所以想法是 - 每個單獨的子弦首先執行,然後這些和絃的結果最終被父任務的回調使用。這裏是我想要做如何在自己的任務是和絃的芹菜中創建一個和絃
代碼 - tasks.py
import celery
from celery import chord
@celery.task
def add(x, y):
print "add called..."
return x + y
@celery.task
def tsum(numbers):
return sum(numbers)
@celery.task
def gr_add(x):
print "**** gr_add called"
c = chord(add.subtask((i,i)) for i in range(2*x, 2*x+2))
r = c(tsum.subtask())
return r.get(timeout=120)
- 然後我test-chord-chord.py文件包含
from tasks import add, tsum, gr_add
from celery import chord
c = chord(gr_add.subtask((i,)) for i in range(2))
result = c(tsum.subtask())
print result.get(timeout=5)
然而,這未按預期執行。我做得對嗎?有沒有另外一種方法來達到上述目的?
介意分享您的代碼? – embedded
抱歉沒有它方便! – gabhijit