Home โ€บ DevOps โ€บ AutoSys: Run a Job Every 10 Minutes (start_mins, run_window and Skipped Starts)
Intermediate 3 min · November 07, 2026

AutoSys: Run a Job Every 10 Minutes (start_mins, run_window and Skipped Starts)

To run an AutoSys job every 10 minutes, set date_conditions: 1, days_of_week: all and start_mins: 00,10,20,30,40,50.

N
Naren Founder & Principal Engineer

20+ years shipping production infrastructure and CI/CD at scale. Lessons pulled from things that broke in production.

Follow
✓ Production
production tested
November 09, 2026
last updated
2,128
articles · all by Naren
Before you start⏱ 6 min
  • ✓AutoSys JIL basics
 ● Production Incident 🔎 Debug Guide
⚡Quick Answer
  • Every 10 minutes: date_conditions: 1, days_of_week: all, start_mins: 00,10,20,30,40,50.
  • start_mins repeats every hour; start_times is for specific clock times.
  • Business hours only: add run_window: "08:00-18:00".
  • If a run is still RUNNING when the next start comes, that start is skipped.
  • Keep runs shorter than the gap (warn with max_run_alarm), or chain runs instead of using the clock.
โœฆ Definition~90s read
What is AutoSys?

AutoSys has no 'every N minutes' attribute. You list the minutes past the hour in start_mins, and they repeat every hour on the days in days_of_week. run_window limits which hours those starts can happen in.

โ˜…
start_mins is a list of minute marks on a clock face.
Plain-English First

start_mins is a list of minute marks on a clock face. Every hour, when the minute hand passes one of them, the job starts, unless it's still running from last time.

Running a job every ten minutes takes three lines of JIL. The trouble starts when a run takes longer than ten minutes: the next start doesn't queue up, it just doesn't happen. This guide gives the JIL, how to limit it to business hours, and how to handle runs that outgrow the gap.

The JIL for Every 10 Minutes

date_conditions: 1 turns on time-based scheduling. days_of_week says which days, and start_mins lists the minutes past the hour. The minutes repeat every hour, so this starts the job six times an hour, all day, every day.

fin_poll.jilTEXT
1
2
3
4
5
6
insert_job: FIN_POLL   job_type: CMD
machine: finbatch01
command: /apps/fin/bin/poll.sh
date_conditions: 1
days_of_week: all
start_mins: 00,10,20,30,40,50
๐Ÿ”ฅEvery 5 or 15 minutes
Every 5: start_mins: 00,05,10,15,20,25,30,35,40,45,50,55. Every 15: start_mins: 00,15,30,45.
๐ŸŽฏ Key Takeaway
date_conditions + days_of_week + start_mins.

start_mins vs start_times

start_times takes clock times ("02:00, 14:00") and runs at exactly those. start_mins takes minutes and repeats them every hour. You can't use both on the same job. For 'every N minutes', start_mins is the one.

compare.jilTEXT
1
2
3
4
5
/* Twice a day */
start_times: "02:00, 14:00"

/* Every 10 minutes */
start_mins: 00,10,20,30,40,50
๐ŸŽฏ Key Takeaway
start_mins repeats hourly; start_times doesn't.

Business Hours Only: run_window

run_window limits the period in which a scheduled start is allowed. Combined with start_mins, the job runs every 10 minutes between 08:00 and 18:00 and not at all overnight.

business_hours.jilTEXT
1
2
3
update_job: FIN_POLL
days_of_week: mo,tu,we,th,fr
run_window: "08:00-18:00"
๐ŸŽฏ Key Takeaway
run_window limits which hours the starts can happen.

When a Run Is Longer Than the Gap

AutoSys won't start a job that is still running. If the 10:10 start arrives while the 10:00 run is still going, the 10:10 start is skipped; it isn't queued. Nothing fails and nothing alerts, so it's easy to miss. Check real run times against the gap.

check_runs.shBASH
1
autorep -J FIN_POLL -r -6
Output
FIN_POLL 09:00:00 09:14:02 SU
FIN_POLL 09:20:00 09:34:11 SU
FIN_POLL 09:40:00 09:53:57 SU
๐ŸŽฏ Key Takeaway
A run longer than the gap silently skips the next start.

Fixing Overlaps

Either make each run fit inside the gap and warn when it gets close, or stop using the clock: chain the runs so the next starts a fixed time after the previous one finishes (a short sleep job with a success condition on the poller).

fix.jilTEXT
1
2
update_job: FIN_POLL
max_run_alarm: 9   /* warn before the next start */
๐ŸŽฏ Key Takeaway
Fit inside the gap, or chain the runs.
● Production incidentPOST-MORTEMseverity: high

Half the Runs Went Missing

Symptom
At month end FIN_POLL ran at :00, :20, :40 but not at :10, :30, :50. No failures, no alarms.
Assumption
The team assumed the scheduler was overloaded at month end.
Root cause
The poller normally took 4 minutes but took 14 at month end. When each 10-minute start came, the previous run was still RUNNING, so AutoSys didn't start another instance and that start was missed.
Fix
Added max_run_alarm: 9 to warn when a run approaches the gap, and moved the slow month-end step out of the poller so each run fits inside 10 minutes.
Key lesson
  • A running job can't start again, so overlapping starts are skipped.
  • Compare run times with the gap.
  • Warn before the next start, not after.
Production debug guideWhy a frequent job misses runs5 entries
Symptom · 01
Job never runs
→
Fix
Check date_conditions: 1 is set, and that the job isn't ON_HOLD or ON_ICE.
Symptom · 02
Runs once a day, not every 10 minutes
→
Fix
You used start_times. Use start_mins for minutes past every hour.
Symptom · 03
Runs outside business hours
→
Fix
Add run_window: "08:00-18:00".
Symptom · 04
Some starts missing
→
Fix
Compare run times (autorep -J JOB -r -10) with the gap. A run still in progress skips the next start.
Symptom · 05
Job is inside a box
→
Fix
The box's own schedule controls it. Schedule the box, or move the job out.
⚙ Quick Reference
5 commands from this guide
FileCommand / CodePurpose
fin_poll.jilinsert_job: FIN_POLL job_type: CMDThe JIL for Every 10 Minutes
compare.jil/* Twice a day */start_mins vs start_times
business_hours.jilupdate_job: FIN_POLLBusiness Hours Only
check_runs.shautorep -J FIN_POLL -r -6When a Run Is Longer Than the Gap
fix.jilupdate_job: FIN_POLLFixing Overlaps

Key takeaways

1
Every N minutes = start_mins with date_conditions
1.
2
start_mins repeats every hour.
3
run_window limits the hours.
4
A run longer than the gap skips the next start.
5
Warn with max_run_alarm below the gap.

Common mistakes to avoid

3 patterns
×

Forgetting date_conditions: 1

Symptom
The job never starts on its own.
Fix
start_mins is ignored without date_conditions: 1.
×

Using start_times for 'every N minutes'

Symptom
It runs once a day.
Fix
Use start_mins.
×

Ignoring run time

Symptom
Runs silently skipped when they slow down.
Fix
Compare runtime with the gap and set max_run_alarm.
INTERVIEW PREP · PRACTICE MODE

Interview Questions on This Topic

Q01JUNIOR
How do you run an AutoSys job every 15 minutes during business hours?
Q02SENIOR
A job scheduled every 10 minutes is missing runs. Why?
Q01 of 02JUNIOR

How do you run an AutoSys job every 15 minutes during business hours?

ANSWER
date_conditions: 1, days_of_week: mo,tu,we,th,fr, start_mins: 00,15,30,45, run_window: "08:00-18:00".
FAQ · 3 QUESTIONS

Frequently Asked Questions

01
How do I schedule an AutoSys job every 10 minutes?
02
Can I use start_mins and start_times together?
03
What happens if the job is still running at the next start?
COMPLETE GUIDE
The Complete AutoSys Workload Automation Guide for Engineers →

JIL syntax, sendevent, autorep, box jobs, file watchers, scheduling, HA, security, cloud workload automation, and 22 interview questions โ€” the definitive AutoSys reference for production engineers.

N
Naren Founder & Principal Engineer

20+ years shipping production infrastructure and CI/CD at scale. Lessons pulled from things that broke in production.

Follow
✓ Verified
production tested
November 09, 2026
last updated
2,128
articles · all by Naren
🔥

That's AutoSys. Mark it forged?

3 min read · try the examples if you haven't

←
Previous
AutoSys Error Redirecting stdout
39 / 49 · AutoSys
Next
AutoSys Start and Stop Order
→