the way I think about this is:
⢠runs have a
State
, a
State
might have a
.result()
attached, depending on whether it was persisted via
persist_result=True/False
⢠retries start from the first non-
Completed
state that has an upstream persisted result
so if I have a flow A, B, and C with
retries=1
where all have subflows (or tasks) have
persist_result=True
and I run it, A completes, B and C fail
A's result is persisted, so when the flow run retries, it uses the persisted result from A and starts with B
if I had not persisted results, it would run all the way through A, B, and C because "no progress was saved"