Ethan Shenker
08/04/2020, 2:17 PMsignals.FAIL()
state, which would then trigger another task. However, within that downstream task, I would also like to allow the user to interact with the flow to set a flag that would determine the outcome of that downstream flow, and this interaction would likely occur while the downstream task was in a paused state. However, I'm struggling with determining how I'd be able to achieve this interaction, as the paused state pauses all elements of the flow, thus preventing the user interaction I require.
Additionally, if there are any other ways that a task can be set to occur both as a result of a failed previous task and manually at the same time, that insight would be greatly appreciated too. Thanks!Jim Crist-Harif
08/04/2020, 2:59 PMflow.run()
)?
• If you are using orchestration, do you want the manual trigger to happen using the prefect UI, or some other interaction?Ethan Shenker
08/04/2020, 3:44 PMJim Crist-Harif
08/04/2020, 3:50 PMprefect.engine.signals.PAUSE
in the trigger, which would put task B into a manual-only run mode.
• If task A is in any other state, you'd raise prefect.engine.signals.SKIP
to skip task B.
Once task B is paused, the user could use the UI to either resume task B (this triggering it to run and overwrite) or transition it to finished directly (the task won't run, no overwriting would happen). I believe this satisfies your workflow?Ethan Shenker
08/04/2020, 3:54 PMJim Crist-Harif
08/04/2020, 3:57 PMEthan Shenker
08/04/2020, 4:00 PM@task(name="task b", trigger=triggers.any_failed)
def task_b():
raise signals.PAUSE()
[rest of code]
or would the trigger be something else?Jim Crist-Harif
08/04/2020, 4:01 PMEthan Shenker
08/04/2020, 4:05 PMJim Crist-Harif
08/04/2020, 4:07 PMEthan Shenker
08/04/2020, 4:07 PM