Koen
01/28/2025, 9:43 AMMarvin
01/28/2025, 9:43 AM.submit().submit()Koen
01/28/2025, 9:45 AMKoen
01/28/2025, 9:46 AMMarvin
01/28/2025, 9:46 AMFailed()FailedFailedpython
from prefect import flow, task
from prefect.states import Failed
@flow
def subflow():
    # Simulating a failure
    return Failed(message="Subflow failed due to some reason")
@flow
def main_flow():
    subflow_result = subflow()
    
    if isinstance(subflow_result, Failed):
        print("Subflow failed with message:", subflow_result.message)
    else:
        print("Subflow completed successfully")
if __name__ == "__main__":
    main_flow()isinstance(subflow_result, Failed)FailedKoen
01/28/2025, 10:22 AMMarvin
01/28/2025, 10:22 AMisinstance()FailedFailedisinstance()typeFailedpython
from prefect import flow
from prefect.states import StateType
@flow
def subflow():
    # Simulating a failure
    return Failed(message="Subflow failed due to some reason")
@flow
def main_flow():
    subflow_result = subflow()
    
    if subflow_result.type == StateType.FAILED:
        print("Subflow failed with message:", subflow_result.message)
    else:
        print("Subflow completed successfully")
if __name__ == "__main__":
    main_flow()subflow_result.type == StateType.FAILEDFailedStateTypeprefect.statesKoen
01/28/2025, 10:29 AMMarvin
01/28/2025, 10:29 AMpython
from prefect import flow
from prefect.states import StateType, Failed
@flow
def subflow():
    # Simulating a failure
    raise Exception("Subflow encountered an error")
@flow
def main_flow():
    try:
        subflow_result = subflow()
    except Exception as e:
        print("Subflow failed with exception:", str(e))
        subflow_result = Failed(message=str(e))
    
    # Check if the subflow failed
    if subflow_result.type == StateType.FAILED:
        print("Handled subflow failure, continuing main flow execution.")
    else:
        print("Subflow completed successfully")
    # Continue with the rest of the main flow
    print("Continuing with main flow...")
if __name__ == "__main__":
    main_flow()