我正在使用芹菜,我有几个需要按顺序执行的任务。
例如我有这个任务:
@celery.task
def tprint(word):
print word
我想做这样的事情:
>>> chain(tprint.s('a') | tprint.s('b'))()
然后我得到TypeError: tprint() takes exactly 1 argument (2 given)
.
和弦一样,在这种情况下,我需要在一组任务之后执行一个任务:
>>> chord([tprint.s('a'), tprint.s('b')])(tprint.s('c'))
那么如何处理这种情况呢?我不在乎每个任务的结果,但它们需要按顺序执行。
添加第二个参数不起作用:
@celery.task
def tprint(word, ignore=None):
print word
>>> chain(tprint.s('a', 0) | tprint.s('b'))()
这将打印出“a”和“None”。