Notes
- Exactly one of
durationoruntilis required; both or neither throws at render time. - Produces no output. Past
untiltimestamps fire immediately.
Durable Suspend and Wake
A waiting timer holds no worker and no CPU: the run’s status becomeswaiting-timer, only the absolute fire time persists, and the host releases the worker, so tearing it down, redeploying, or restarting mid-wait (including the worker itself) loses nothing.
The host wakes the run on its own when the fire time arrives. A Gateway sweeps due timers on its scheduler tick (every 1 to 15s), and bunx smthrs supervise --run RUN_ID also scans the explicitly scoped waiting-timer run and resumes it when due if you are operating without Gateway. Pass --all only when you intend a workspace-wide sweep. Wake resolution is bounded by the Gateway tick or supervisor interval rather than by a live process. Timers that came due while the host was down fire on the first sweep after it restarts.