Pipelining¶
Single pipelining:
@app.task()
def do_things():
...
@app.task("after task 'do_things'")
def do_after_success():
...
@app.task("after task 'do_things' succeeded")
def do_after_success_2():
...
@app.task("after task 'do_things' failed")
def do_after_fail():
...
@app.task("after task 'do_things' finished")
def do_after_fail_or_success():
...
You can also pipe multiple at the same time to avoid long logical statements:
@app.task()
def do_a():
...
@app.task()
def do_b():
...
@app.task("after tasks 'do_a', 'do_b' succeeded")
def do_all_succeeded():
...
@app.task("after any tasks 'do_a', 'do_b' succeeded")
def do_any_succeeded():
...
@app.task("after any tasks 'do_a', 'do_b' failed")
def do_any_failed():
...
@app.task("after any tasks 'do_a', 'do_b' finished")
def do_any_failed_or_succeeded():
...