migrating from Prefect 0.15 to Prefect 2.0 I runned into huge amount of improvements but right now I am bit stuck with ShellTask.
My code was like:
import prefect from prefect import Flow, Client, task from prefect.tasks.shell import ShellTask move_data_shell_tsk = ShellTask(name="Move data", command="sudo mv src dst") start_db_shell_tsk = ShellTask(name="Start db", command="make start-db") with Flow() as flow: move_data_tsk = move_data_shell_tsk() start_db_tsk = start_db_shell_tsk() start_db_tsk.set_upstream(move_data_tsk)
I was used to use
.set_upstream() to control the order of tasks.
Now I use
def mv_data(src, dst): return shell_run_command(command=f'sudo mv src dst') def start_db(): return shell_run_command(command='make start-db') @flow def flow1(): mv_data_tsk = mv_data(src, dst) start_db_tsk = start_db()
with_option() method but it does not seem possible to set upstream of one task imperatively. Do I have to use sub-flow for each shell task to control the order or execution or is it possible on task level within one flow.
Thanks for your help.