Devin
06/07/2023, 6:01 PMJake Kaplan
06/07/2023, 6:33 PMfrom prefect import flow
def print_name(flow, flow_run, state):
print(flow_run.name)
@flow(on_failure=[print_name])
def failing_flow():
raise ValueError("this failed")
if __name__ == '__main__':
failing_flow()
Jake Kaplan
06/07/2023, 6:33 PM/Users/jakekaplan/opt/anaconda3/envs/demo-flows/bin/python /Users/jakekaplan/PycharmProjects/demo-flows/my_flow.py
14:31:59.793 | INFO | prefect.engine - Created flow run 'graceful-mandrill' for flow 'failing-flow'
14:31:59.795 | INFO | Flow run 'graceful-mandrill' - View at <https://app.prefect.cloud/account/3cf6b38f-5244-474a-9554-302144506e43/workspace/ce8b1412-01b7-4700-a508-8dbd1f43f623/flow-runs/flow-run/9a665501-d619-435c-8080-f474b10466a0>
14:32:02.146 | ERROR | Flow run 'graceful-mandrill' - Encountered exception during execution:
Traceback (most recent call last):
File "/Users/jakekaplan/opt/anaconda3/envs/demo-flows/lib/python3.10/site-packages/prefect/engine.py", line 750, in orchestrate_flow_run
result = await flow_call.aresult()
File "/Users/jakekaplan/opt/anaconda3/envs/demo-flows/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
return await asyncio.wrap_future(self.future)
File "/Users/jakekaplan/opt/anaconda3/envs/demo-flows/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 194, in _run_sync
result = self.fn(*self.args, **self.kwargs)
File "/Users/jakekaplan/PycharmProjects/demo-flows/my_flow.py", line 10, in failing_flow
raise ValueError("this failed")
ValueError: this failed
14:32:02.296 | INFO | Flow run 'graceful-mandrill' - Running hook 'print_name' in response to entering state 'Failed'
14:32:02.297 | INFO | Flow run 'graceful-mandrill' - Hook 'print_name' finished running successfully
14:32:02.298 | ERROR | Flow run 'graceful-mandrill' - Finished in state Failed('Flow run encountered an exception. ValueError: this failed\n')
graceful-mandrill
Devin
06/07/2023, 6:35 PMJake Kaplan
06/07/2023, 6:40 PMfrom prefect import flow
from prefect.context import get_run_context
@flow
def failing_flow():
ctx = get_run_context()
print(ctx.flow_run.name)
if __name__ == '__main__':
failing_flow()
/Users/jakekaplan/opt/anaconda3/envs/demo-flows/bin/python /Users/jakekaplan/PycharmProjects/demo-flows/my_flow.py
14:39:34.777 | INFO | prefect.engine - Created flow run 'teal-degu' for flow 'failing-flow'
teal-degu
14:39:35.616 | INFO | Flow run 'teal-degu' - Finished in state Completed()
Jake Kaplan
06/07/2023, 6:41 PMDevin
06/07/2023, 6:41 PM