CronJob Schedule Calculator
Calculate next run times and overlap risk for a Kubernetes CronJob schedule.
About CronJob Schedule Calculator
A CronJob's schedule field uses standard 5-field cron syntax (minute hour day-of-month month day-of-week). This calculator uses a simplified fixed-interval model to project upcoming run times and, critically, checks whether the typical job duration exceeds the interval between runs — if it does, the concurrencyPolicy (Allow/Forbid/Replace) determines whether runs overlap, get skipped, or get replaced.
Formula
runsPerDay = floor(1440 / intervalMinutes)
- I
- Schedule interval in minutes
- R_d
- Number of runs per day
Worked example
With the default values below, CronJob Schedule Calculator returns Overlap Risk of false. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Schedule Intervalaccepts 1–10,080 minutes
- 15 minutes
- Typical Job Durationaccepts 0.1–10,080 minutes
- 5 minutes
- Concurrency Policyone of Allow (concurrent runs permitted), Forbid (skip if previous still running), Replace (cancel previous, start new)
- Allow (concurrent runs permitted)
- Runs to Showaccepts 1–50 runs
- 5 runs
Results
- Overlap Risk
- false
- Concurrency Policy Impact
- No overlap expected — job duration fits within the interval.
- Runs per Day
- 96
Step by step
- 1Runs per day= 96
- 2Overlap check= No overlap
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to whole numbers, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
What does concurrencyPolicy: Forbid actually skip?
If a previous Job is still running when the next scheduled time arrives, Forbid causes the controller to skip creating a new Job entirely for that scheduled slot — it does not queue it for later.
How many missed schedules does Kubernetes tolerate?
The startingDeadlineSeconds field bounds how late a missed run can start; if too many schedules are missed (more than 100 by default) the CronJob controller stops trying to catch up and logs an error instead of running a backlog.
Why use a simplified minute interval instead of full cron parsing?
Full 5-field cron (with irregular day-of-week/day-of-month combinations) doesn't reduce to a single fixed interval — this calculator models the common fixed-interval case (e.g. */N * * * *) directly used by most CronJobs.
