私はセロリを使用しています。順番に実行する必要があるいくつかのタスクがあります。
たとえば、次のタスクがあります。
@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'))
では、この状況にどう対処するか?各タスクの結果は気にしませんが、順番に実行する必要があります。
2 番目のパラメーターを追加しても機能しません。
@celery.task
def tprint(word, ignore=None):
print word
>>> chain(tprint.s('a', 0) | tprint.s('b'))()
これにより、「a」と「None」が出力されます。