Argemiro Neto
11/04/2019, 11:38 PMChris White
Argemiro Neto
11/05/2019, 12:52 AMalways_run
task.Chris White
from prefect import task, Flow, Parameter
from prefect.engine.signals import FAIL, SKIP
def custom_trigger(upstream_states):
if any(isinstance(s.result, FAIL) for s in upstream_states):
return False
else:
return True
@task(trigger=custom_trigger)
def my_task():
print('running')
@task
def upstream(x):
if x == 1:
raise FAIL("1")
else:
raise SKIP("other")
with Flow("example") as flow:
x = Parameter("x", default=1)
result = my_task(upstream_tasks=[upstream(x)])
flow.run() # fails
flow.run(x=0) # succeeds
Argemiro Neto
11/05/2019, 1:25 AMChris White