Skip to main content

Run Statuses

Every time Crontify detects activity on a monitor, it creates a run record. Each run has a status that describes its outcome.

Status reference​

running​

The job has sent a start ping and is currently in progress. A run stays running until a success, fail, or timeout occurs.


success​

The job completed normally. A success ping was received.

A successful run can also carry the isDurationAnomaly flag if its duration was significantly longer than the historical average. The run is still success — the flag is informational, and a separate slow alert fires. See Duration Anomaly Detection.


failed​

The job explicitly reported an error via monitor.fail() or a /fail HTTP ping. The run record includes the error message if one was provided, and may also have a log attached — see Log Attachment.


missed​

The job never sent a start ping within the expected window (grace period elapsed with no ping). Crontify creates this run record automatically — your job code is never involved.


hung​

The job sent a start ping but never sent a success or fail ping within the expected duration. The hung threshold is calculated as:

hung_threshold = gracePeriod × hung_job_timeout_multiplier

The hung_job_timeout_multiplier system setting defaults to 2. So a monitor with a 5-minute grace period will mark a run as hung if it's been running for more than 10 minutes without completing.

A hung job can indicate:

  • A deadlock or infinite loop
  • A process that crashed without sending a fail ping
  • An external dependency that stopped responding

overlapped​

A new start ping arrived while a previous run was still running. The previous run is automatically closed with this status.

This is usually a sign that your job is taking longer than its scheduled interval — the next instance is starting before the previous one has finished. Investigate whether your job duration is growing, or whether you need to add concurrency controls.


Alert types​

Each run status maps to one or more alert types that can fire:

Run outcomeAlert typeFires when
failedfailure/fail ping received
missedmissedGrace period elapsed, no start ping
hunghungRunning job exceeded hang timeout
overlappedoverlappedNew start arrived before previous run finished
success (slow)slowDuration exceeded anomaly threshold
success (rule match)silent_failureMetadata matched an alert rule
any → successrecoveryMonitor was failing, now back to active

Run history​

Every run is stored and visible on the monitor detail page. You can:

  • Filter by status
  • Click a run to see its full details — duration, error message, timestamps, and attached log output
  • View the duration trend chart (last 30 days)

Run history is retained according to your plan's history limit. On the free plan, runs are kept for 14 days.