Max Lewis-Clarke
02/19/2025, 3:43 PMMarvin
02/19/2025, 3:43 PMConcurrentTaskRunnerThreadPoolTaskRunner@taskConcurrentTaskRunnerpython
from prefect import flow, task
from prefect.task_runners import ThreadPoolTaskRunner
@task
def sequential_task_1():
    # Your logic here
    pass
@task
def sequential_task_2():
    # Your logic here
    pass
@task
def concurrent_task():
    sequential_task_1()
    sequential_task_2()
@flow(task_runner=ThreadPoolTaskRunner())
def my_flow():
    # Executing multiple concurrent tasks
    for _ in range(5):  # Adjust the range for the number of concurrent tasks
        concurrent_task()
if __name__ == "__main__":
    my_flow()concurrent_tasksequential_task_1sequential_task_2concurrent_taskThreadPoolTaskRunnerMax Lewis-Clarke
02/19/2025, 3:46 PMMarvin
02/19/2025, 3:47 PMpython
from prefect import flow, task
from prefect.task_runners import ThreadPoolTaskRunner
@task
def task_a():
    # Task logic for A
    pass
@task
def task_b():
    # Task logic for B
    pass
@task
def task_c():
    # Task logic for C
    pass
@task
def execute_tasks_sequentially(tasks):
    for task in tasks:
        task()
@flow(task_runner=ThreadPoolTaskRunner())
def my_flow():
    tasks = [task_a, task_b, task_c]
    execute_tasks_sequentially(tasks)
if __name__ == "__main__":
    my_flow()execute_tasks_sequentiallytasksThreadPoolTaskRunnerNate
02/19/2025, 3:54 PMMarvin
02/19/2025, 3:55 PM.map@task.mappython
from prefect import flow, task, unmapped
@task
def add_n_to_items(items, n):
    return [item + n for item in items]
@flow
def my_flow():
    # Use .map to execute the task over a range of inputs
    results = add_n_to_items.map(unmapped([10, 20]), n=[1, 2, 3])
    return results
if __name__ == "__main__":
    my_flow()add_n_to_items.map()n=[1, 2, 3]unmapped()[10, 20][[11, 21], [12, 22], [13, 23]]Nate
02/19/2025, 3:56 PMNate
02/19/2025, 3:57 PMMax Lewis-Clarke
02/19/2025, 4:05 PMMax Lewis-Clarke
02/19/2025, 4:06 PMMax Lewis-Clarke
02/19/2025, 4:21 PM