Skip to content

Policies

Wakeplane’s behavior at the edges — missed runs, concurrent execution, and failures — is controlled by per-schedule policies.

Controls how failed runs are retried.

{
"retry_policy": {
"max_attempts": 3,
"backoff": "exponential",
"initial_delay": "30s",
"max_delay": "10m"
}
}
FieldDefaultMeaning
max_attempts1Total attempts including initial. 1 means no retry.
backoff"fixed""fixed" or "exponential"
initial_delay"1m"Wait before first retry
max_delay"1h"Cap for exponential backoff

Runs that exhaust the retry budget transition to dead_letter.

Controls what happens when a new occurrence fires while the previous run is still active.

PolicyBehavior
allowBoth runs proceed concurrently (default)
skipNew occurrence is skipped if prior is still running
replacePrior run is cancelled cooperatively; new run proceeds

replace is cooperative. The executor must respect ctx.Done(). Non-cooperative executors are not forcibly terminated — they are handled by the timeout boundary.

Controls what happens when the scheduler restarts and finds occurrences that were missed during downtime.

PolicyBehavior
run_latestRun the most recent missed occurrence only (default)
run_allRun all missed occurrences
skipSkip all missed occurrences

Per-run execution timeout. If the executor does not complete within this window, the run is transitioned to failed and retry/dead-letter policy applies.

{
"timeout": "30m"
}