Outcron Plain HTML

Schedules

A schedule defines when a job runs. Schedules use cron expressions with full timezone support and configurable behavior for missed executions.

Creating a Schedule

Every schedule requires:

Cron Expressions

Outcron uses standard 5-field cron expressions:

┌───────── minute (0-59)
    │ ┌─────── hour (0-23)
    │ │ ┌───── day of month (1-31)
    │ │ │ ┌─── month (1-12)
    │ │ │ │ ┌─ day of week (0-6, Sunday=0)
    │ │ │ │ │
    * * * * *
    

Examples:

ExpressionDescription
*/5 * * * *Every 5 minutes
0 * * * *Every hour, on the hour
0 9 * * 1-59:00 AM, Monday through Friday
0 0 1 * *Midnight on the 1st of each month
30 14 * * 02:30 PM every Sunday

Timezone

The cron expression is evaluated in the specified timezone. For example, 0 9 * * * in America/New_York fires at 9:00 AM Eastern, regardless of DST changes.

Timestamps are stored in UTC. The UI displays them using your account timezone preference, or your browser's local timezone when no preference is set. The schedule's next run time is calculated using the schedule's configured timezone.

Misfire Policies

When executions are missed (e.g., the system was down), the misfire policy determines what happens:

PolicyBehavior
skipMissed runs are discarded. Only future runs are scheduled.
latest_onlyOnly the most recently missed run is executed.
catch_upAll missed runs are executed, up to the backfill limit.

The backfill limit caps how many missed runs catch_up will create, preventing runaway backfills after extended downtime.

Splay

The splay_sec setting is a maximum random start delay. Values are clamped to 0..45, and each scheduled execution receives a random delay in [0,effective_splay_sec]. This prevents many schedules with the same cron expression from firing simultaneously.

Schedule previews show the base cron times plus the effective splay window metadata. They do not predict the exact random delayed time that a future execution will receive.

Pending Timeout

pending_timeout_sec controls how long an execution can remain in the pending state before being expired. Defaults to 300 seconds (5 minutes).

Schedule States

Max Pending

max_pending limits how many executions from this schedule can be in the pending state at once. If the limit is reached, new executions are not created until pending ones are claimed or expire. Default: 3.