Omar Khudeira
05/03/2024, 1:30 PMMarvin
05/03/2024, 1:30 PMflow_run_name@flowpython
import datetime
from prefect import flow
from prefect.runtime import flow_run
def generate_flow_run_name():
    flow_name = flow_run.flow_name
    parameters = flow_run.parameters
    name = parameters["name"]
    limit = parameters["limit"]
    return f"{flow_name}-with-{name}-and-{limit}"
@flow(flow_run_name=generate_flow_run_name)
def my_flow(name: str, limit: int = 100):
    pass
# creates a flow run called 'my-flow-with-marvin-and-100'
my_flow(name="marvin")generate_flow_run_nameOmar Khudeira
05/03/2024, 1:32 PMMarvin
05/03/2024, 1:33 PMflow_run_namepython
from prefect import flow
def generate_subflow_run_name(param):
    return f"subflow-with-{param}"
@flow(name="subflow")
def my_subflow(param: str, flow_run_name: str = None):
    # Subflow's logic goes here
    ...
@flow(name="mainflow")
def my_mainflow(param: str):
    # Main flow's logic goes here
    
    # Call subflow with a dynamic run name
    my_subflow(param, flow_run_name=generate_subflow_run_name(param))
# Call main flow with parameter
my_mainflow("specific-parameter")my_subflowmy_mainflowmy_subflowflow_run_namegenerate_subflow_run_namename@flow(name="...")flow_run_nameNate
05/03/2024, 2:43 PMwith_optionsMarvin
05/03/2024, 2:43 PMwith_optionswith_optionswith_optionsflow_run_namewith_optionswith_optionsNate
05/03/2024, 2:44 PMnamed_flow = original_flow.with_options(name="whatever")
named_flow(...)