Erik
10/13/2022, 6:38 AMfrom prefect import flow, task
from time import sleep
@task
def sleep_task():
sleep(5)
return 'sleep_task complete'
@flow(timeout_seconds=1)
def timeout_flow():
print(sleep_task())
return 'timeout_flow complete'
@flow
def main_flow():
try:
print(timeout_flow())
except Exception as e:
print('error caught:: ', repr(e))
The try; except block does not catch the error, instead the framework throws a TimeoutError exception. How can I catch prefect timeouts?Mason Menges
10/13/2022, 3:58 PMErik
10/13/2022, 4:27 PMMason Menges
10/13/2022, 4:29 PMfrom prefect import flow, task
from time import sleep
@task
def sleep_task():
sleep(5)
return 'sleep_task complete'
@flow(timeout_seconds=1)
def timeout_flow():
print(sleep_task())
return 'timeout_flow complete'
@flow
def other_flow():
some_task()
@flow
def main_flow():
unreliable = timeout_flow()
reliable = other_flow()
return reliable
Erik
10/13/2022, 4:58 PMMason Menges
10/13/2022, 5:43 PMErik
10/13/2022, 8:45 PM