William Jackson
03/12/2026, 5:11 PMMarvin
03/12/2026, 5:11 PMMarvin
03/12/2026, 5:13 PMdepends_on-style ordering
- Awaiting a task just to ensure it finishes, but not using its result
- Concurrency/group limits or other orchestration constraints
Subflows are a special case: the graph can show an “encapsulating” relationship from a parent task to the subflow run, but typical edges between tasks still require data flow.
Quick example:
from prefect import flow, task
@task
def A():
return 1
@task
def B(x):
return x + 1
@task
def C():
return "done"
@flow
def my_flow():
a = A()
B(a) # Line A → B (B uses A’s output)
C() # No line from A → C (no data passed)
Notes:
- The graph only includes tasks that actually started (non-pending). If something hasn’t started, you may not see it or its edges yet.
- If you want a relationship to appear as a line, pass the upstream result (or a value derived from it) into the downstream task.