diff --git a/src/prefect/orion/orchestration/core_policy.py b/src/prefect/orion/orchestration/core_policy.py index ef4da050ef6a..fd8b6b4a1969 100644 --- a/src/prefect/orion/orchestration/core_policy.py +++ b/src/prefect/orion/orchestration/core_policy.py @@ -269,11 +269,11 @@ async def before_transition( run_settings = context.run_settings run_count = context.run.run_count - if run_count > run_settings.max_retries: + if run_settings.max_retries is None or run_count > run_settings.max_retries: return # Retry count exceeded, allow transition to failed scheduled_start_time = pendulum.now("UTC").add( - seconds=run_settings.retry_delay_seconds + seconds=run_settings.retry_delay_seconds or 0 ) failed_task_runs = await task_runs.read_task_runs( diff --git a/src/prefect/orion/schemas/core.py b/src/prefect/orion/schemas/core.py index 313a8bc2f2b1..6cbcf1fe01f2 100644 --- a/src/prefect/orion/schemas/core.py +++ b/src/prefect/orion/schemas/core.py @@ -90,8 +90,8 @@ class FlowRunPolicy(PrefectBaseModel): # TODO: Determine how to separate between infrastructure and within-process level # retries - max_retries: int = 0 - retry_delay_seconds: float = 0 + max_retries: Optional[int] = None + retry_delay_seconds: Optional[float] = None class FlowRun(ORMBaseModel):