Skip to content

Cron lifecycle and replacement updates

Cron job statuses are active, paused, firing, completed, cancelled, expired, and failed. set_enabled(false) pauses an eligible job while preserving its history. set_enabled(true) resumes an eligible paused job, clears its consecutive failure/skip counters and first-loss timestamp, removes its cancellation reason, and recomputes the next fire time. completed, cancelled, expired, and failed are terminal outcomes and must be interpreted from the current action result.

update_job is a replacement, not an in-place row mutation. On success, read the new cronJobId from the response and use it for every follow-up. replacesCronJobId points to the old job, which is cancelled with reason system:replaced. A dry-run response does not prove that a replacement was persisted.

run_now requires user confirmation and accepts only active or paused jobs. It creates a manual fire without changing nextFireAt, runCount, schedule, or skip counters. Reusing the same idempotency key returns the original result even if the job becomes terminal after the first call.

Web/API duplicate creates a new active but disabled draft, clears the dedupe key, and copies no Agent grants beyond the normal floor. This also works for completed once jobs and expired recurring jobs: historical runAt, endAt, and expiresAt are preserved for editing, but the draft cannot be enabled until its schedule has a future occurrence.

cancel_job requires user confirmation, then stops future normal fires while retaining history and telemetry; it is not deletion. Terminal completed, expired, failed, and cancelled jobs cannot be resumed or cancelled. Update, cancel, and run-now use strict drift checks; update uses ConfirmationPolicy::None, while cancel and run-now use ConfirmationPolicy::UserConfirm.

arinova.cron.get_job, arinova.cron.update_job, arinova.cron.set_enabled, arinova.cron.cancel_job, arinova.cron.run_now

Also known as

pause cron, resume schedule, replace job, new cronJobId, cancel schedule, system replaced


Machine-readable Markdown · Knowledge index

Build a7f47a5ca54ddcf7806cd48b81ce1b9827042766