Optional ReadonlybaseFirst retry delay; doubled per attempt. Default 1000.
Optional ReadonlyclaimRow lease in ms, integer 1–3600000. Default 30000. Must cover
publishTimeoutMs + 2 * storeTimeoutMs + maxClockSkewMs.
Optional ReadonlyintervalMilliseconds between scheduled sweeps. Default 1000.
Optional ReadonlymaxPublish attempts before a row becomes failed. Default 10.
Optional ReadonlymaxRetry delay ceiling. Default 300000.
Optional ReadonlymaxAssumed maximum wall-clock disagreement in ms, integer 0–60000. Default
5000. Zero assumes perfectly agreeing clocks and is unsafe across hosts.
Optional ReadonlymaxFailed keys read at lap start; a full answer caps the lap. Default 1000.
Optional ReadonlypageRows read per scanPending page. Default 100.
Optional ReadonlypublishPublishes and poison transitions per sweep. Default 100.
Optional ReadonlypublishBound on one publish. Default 5000.
Optional ReadonlyscanRows examined per sweep, skips included. Default 1000.
Optional ReadonlyscheduleRegister the relay on CAPABILITIES.SCHEDULER at onInit. Set false on
Cloudflare Workers and call outbox.sweep() from a Cron Trigger.
Default true.
Optional ReadonlystoreBound on one store call. Default 5000.
Optional ReadonlysweepOne deadline over the whole sweep, measured on the monotonic clock.
Default 30000. Must be greater than publishTimeoutMs + 2 * storeTimeoutMs.
Rows start while the remaining budget covers that reserve: the first
15000 ms with default options. EXCEPT that the status write settling an
already-invoked publish runs to its own storeTimeoutMs even when a pause
has exhausted the budget: a sweep that overran by a pause can outlive this
deadline by at most one storeTimeoutMs, and the shutdown drain that waits
for it is bounded by the same amount.
The outbox relay's schedule, budgets and failure policy (M107 §3.6–§3.8).
Every numeric option must be a finite integer in its range, and
publishTimeoutMs + 2 * storeTimeoutMsmust be less thansweepDeadlineMs; a violation is refused at construction, naming the option.Since
0.9.0