William Smith
08/28/2020, 10:16 AMWilliam Smith
08/28/2020, 10:17 AMWilliam Smith
08/28/2020, 10:17 AMMatt Wong-Kemp
08/28/2020, 10:18 AMreference_tasks
, which determines the state of the flow as a whole, would then be Skipped
? when in principle it's failed.William Smith
08/28/2020, 10:32 AMWilliam Smith
08/28/2020, 10:33 AMflow.set_reference_tasks([failedTask, skippedTask, skippedTask])
William Smith
08/28/2020, 10:33 AMWilliam Smith
08/28/2020, 10:33 AMChris White
Skipped
state on the downstream tasksWilliam Smith
08/28/2020, 3:48 PMChris White
from prefect import signals
def my_skipped_trigger(upstream_states: Dict[Edge, State]):
if any(s.is_failed() for s in upstream_states.values()):
raise signals.SKIP("Some upstreams failed")
@task(trigger=my_skipped_trigger)
…
William Smith
08/28/2020, 3:53 PMWilliam Smith
08/28/2020, 3:53 PMChris White
Chris White
Marvin
08/28/2020, 3:54 PMWilliam Smith
08/28/2020, 4:01 PMdef my_skipped_trigger(upstream_states: Dict[Edge, State]):
TypeError: 'SignatureValidator' object is not subscriptable
Chris White
William Smith
08/28/2020, 4:03 PMWilliam Smith
08/28/2020, 4:04 PM@task(name = "Unhappy Path", result=LocalResult(dir='~/Desktop/Credit/results'), trigger = my_skipped_trigger)
def netting_data_failed():
logger = prefect.context.get("logger")
<http://logger.info|logger.info>("Caught failed flow!")
William Smith
08/28/2020, 4:04 PMWilliam Smith
08/28/2020, 4:04 PMdef my_skipped_trigger(upstream_states: Dict[Edge, State]):
if any(s.is_failed() for s in upstream_states.values()):
raise signals.SKIP("Some upstreams failed")
William Smith
08/28/2020, 4:04 PMWilliam Smith
08/28/2020, 4:04 PMfrom prefect.tasks.core.collections import Dict
William Smith
08/28/2020, 4:05 PMfrom prefect.engine.state import State
William Smith
08/28/2020, 4:05 PMfrom prefect.core.edge import Edge
William Smith
08/28/2020, 4:05 PMWilliam Smith
08/28/2020, 4:05 PMChris White
Dict
should be imported from `typing`: `from typing import Dict`; the type annotation is not necessary, I just provided it so you knew what the argument task type wasWilliam Smith
08/28/2020, 4:06 PM