Calculate next run times and overlap risk for a Kubernetes CronJob schedule.
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.
runsPerDay = floor(1440 / intervalMinutes)
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.
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.
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.