Automation schedules and runs
Configure one-time, recurring, and manual automation runs without overlapping executions.
An automation can be manual-only, run once at an absolute time, or recur on a fixed-period schedule. The run policy is designed to avoid duplicate and overlapping work.
Scheduled runs
Recurring presets are represented as a period plus an offset. Sub-day intervals are rolling; daily and weekly schedules are anchored to the configured timezone so the selected local time stays stable across daylight-saving changes.
When the scheduler has been unavailable, missed recurring slots coalesce. d5s attempts one due run and computes the next slot strictly after the current time; it does not replay every missed interval. This prevents an outage from creating a burst of stale work.
A one-time schedule behaves differently because there is no later slot. It disables itself only after the backend confirms that the occurrence was accepted. Transient failures and lock contention retain the same due time for retry, with idempotency preventing a duplicate run if the first response was lost.
Pausing an automation prevents scheduled work until it is resumed. Review the displayed timezone and next due time after changing the cadence.
Manual runs
Run now is useful for testing instructions or producing an out-of-cycle result. It uses the same project, model, reasoning, instructions, quota, and lock path as a scheduled fire. It does not rewrite the recurring schedule.
Concurrency
d5s acquires one lock per automation before creating a run. If another occurrence or Run now arrives while it is active, the second fire is skipped rather than overlapping external actions.
An optional daily quota counts runs over the previous 24 hours. When the quota is reached, a new fire is skipped. Each accepted fire is also idempotent for its scheduled occurrence, so scheduler retries cannot create two sessions for the same slot.
Use run history to distinguish four cases: the scheduler has not reached the due time, the automation is paused, the occurrence was skipped by a guardrail, or a session was created and then failed during execution.
Execution limits
An optional maximum-step limit applies to both scheduled and manual runs. Set it to an integer from 1 through 100. When it is omitted, the worker uses its standard per-run step limit.