AutoSys Job Scheduling — Time Conditions, start_times, and days_of_week
- date_conditions: 1 must be set for start_times and days_of_week to take effect — it defaults to 0
- start_times specifies clock times; days_of_week specifies which days; both require date_conditions: 1
- run_window bounds when a job should complete; term_run_time hard-terminates after N minutes
- date_conditions: 1 must be set for start_times and days_of_week to take effect; defaults to 0
- start_times lists clock times; days_of_week filters days; both need date_conditions: 1
- run_window bounds job completion window but does not terminate — use term_run_time for a hard kill
- timezone attribute overrides server timezone for multi-region schedules
- start_mins provides sub-hourly scheduling without listing every hour
- The first thing to check when a job doesn't run: date_conditions value
AutoSys Time Scheduling Quick Debug Cheat Sheet
Job never runs
autorep -q jobname | grep -i date_conditionsautorep -d jobnameWrong start time
dateautorep -q jobname | grep -i timezoneJob runs but not on expected days
autorep -q jobname | grep -i days_of_weekautorep -q jobname | grep -i run_calendarJob not respecting run_window
autorep -q jobname | grep -i run_windowautorep -q jobname | grep -i term_run_timeProduction Incident
Production Debug GuideSymptom → Action
Time-based scheduling in AutoSys is controlled by a small set of attributes that work together. The most important thing to understand up front: date_conditions must be set to 1 for any time-based scheduling to take effect. Without it, start_times and days_of_week are ignored entirely.
The date_conditions gate
date_conditions is a binary flag. When it's 1, AutoSys respects the time-based scheduling attributes (start_times, days_of_week, run_calendar). When it's 0 (the default), the job only runs when explicitly triggered — either manually or by a condition from another job.
/* Job that ONLY runs when triggered by another job */ insert_job: load_to_warehouse job_type: CMD command: /scripts/load.sh machine: server01 owner: batch date_conditions: 0 /* time-based scheduling OFF */ condition: success(transform) /* runs when transform succeeds */ /* Job with both time AND condition */ insert_job: morning_extract job_type: CMD command: /scripts/extract.sh machine: server01 owner: batch date_conditions: 1 /* time-based scheduling ON */ days_of_week: mon-fri start_times: "06:00" condition: done(overnight_backup) /* also waits for backup to be done */
start_times and days_of_week
start_times specifies when to run, days_of_week specifies which days. You can list multiple start times separated by commas. days_of_week accepts values like all, mon-fri, or specific days. Both require date_conditions: 1.
/* Run once daily at 2 AM, all days */ date_conditions: 1 days_of_week: all start_times: "02:00" /* Run twice daily on weekdays only */ date_conditions: 1 days_of_week: mon-fri start_times: "08:00, 20:00" /* Run on specific days */ date_conditions: 1 days_of_week: mon,wed,fri start_times: "12:00" /* Run every 15 minutes (use with caution in production) */ date_conditions: 1 days_of_week: all start_mins: "00,15,30,45" /* start_mins for sub-hourly */
run_window — bounding when a job can run
run_window defines a time range within which the job must complete. If the job is still running when the window closes, AutoSys generates an alarm. Some configurations also terminate the job at the window end, but only if term_run_time is set.
insert_job: batch_processing job_type: CMD command: /scripts/batch.sh machine: server01 owner: batch date_conditions: 1 days_of_week: all start_times: "23:00" run_window: "23:00 - 06:00" /* must complete within this window */ term_run_time: 420 /* kill after 7 hours regardless */
Timezone handling
By default, AutoSys uses the server's timezone. For jobs that must run at a specific local time regardless of server timezone (common in multinational companies), set the timezone attribute explicitly.
insert_job: london_end_of_day job_type: CMD command: /scripts/london_eod.sh machine: london-server owner: batch date_conditions: 1 days_of_week: mon-fri start_times: "18:00" timezone: Europe/London /* runs at 18:00 London time always */
Combining time conditions with job dependencies
You can mix date_conditions with condition dependencies. The job starts when both the time condition is met AND the dependency is satisfied. This is common for batch pipelines that must run at a specific time only if upstream succeeded.
insert_job: nightly_etl job_type: CMD command: /scripts/etl.sh machine: server01 owner: batch date_conditions: 1 days_of_week: mon-fri start_times: "02:00" condition: success(data_load) /* runs at 2am only if data_load succeeded */
Common time scheduling failures and debugging
Even with correct settings, jobs may fail due to server time drift, unexpected daylight saving transitions, or missing calendars. Use autorep -q to verify job definition and autorep -d to see why a job hasn't started. Always check system time with the date command on the AutoSys server.
# Check job definition $ autorep -q my_job | grep -E "date_conditions|start_times|days_of_week|timezone" # Check job status and why it hasn't started $ autorep -d my_job # Check server time $ date # Check for pending conditions $ autorep -d my_job | grep -i condition
| Attribute | What it controls | Example values |
|---|---|---|
| date_conditions | Enable time-based scheduling | 0 (off), 1 (on) |
| start_times | Clock times to run | "02:00", "02:00, 14:00" |
| days_of_week | Which days | all, mon-fri, mon,wed,fri |
| start_mins | Sub-hourly scheduling | "00,15,30,45" |
| run_window | Time window for execution | "22:00 - 06:00" |
| timezone | Timezone for time interpretation | US/Eastern, Europe/London |
🎯 Key Takeaways
- date_conditions: 1 must be set for start_times and days_of_week to take effect — it defaults to 0
- start_times specifies clock times; days_of_week specifies which days; both require date_conditions: 1
- run_window bounds when a job should complete; term_run_time hard-terminates after N minutes
- Use the timezone attribute when jobs must run at local time in a specific region
- Time conditions can combine with dependency conditions; job starts when both are met
- Use autorep -q and autorep -d to debug scheduling issues
⚠ Common Mistakes to Avoid
Interview Questions on This Topic
- QWhat does date_conditions do in AutoSys?JuniorReveal
- QIf start_times is set but the job never runs, what is the first thing you check?Mid-levelReveal
- QHow do you schedule an AutoSys job to run every 15 minutes?Mid-levelReveal
- QWhat is run_window and how does it differ from term_run_time?SeniorReveal
- QHow do you schedule an AutoSys job in a specific timezone?SeniorReveal
Frequently Asked Questions
Why isn't my AutoSys job running at the scheduled time?
The most common reason is date_conditions is not set to 1. Without date_conditions: 1, start_times and days_of_week are ignored. Also check that days_of_week includes today and that no conditions are blocking the job. Use autorep -q to verify the definition.
How do I schedule an AutoSys job to run every hour?
Set date_conditions: 1, days_of_week: all, and use start_mins or multiple start_times. For hourly: use a combination of start_times listing every hour, or use a BOX that repeats daily with internal hourly scheduling.
What is run_window in AutoSys?
run_window defines the time range within which a job should run and complete. If the job starts within the window but the window closes before it finishes, AutoSys can generate an alarm or terminate the job depending on configuration — specifically the term_run_time attribute.
Can an AutoSys job run at both a scheduled time AND when another job finishes?
Yes. You can combine date_conditions: 1 with a condition attribute. The job starts when BOTH its time conditions are met AND its dependency condition is true. This is a common pattern for batch workflows.
What is the default timezone for AutoSys scheduling?
AutoSys uses the server's local timezone by default. Use the timezone attribute in the job definition to specify a different timezone explicitly — essential for multinational environments.
Developer and founder of TheCodeForge. I built this site because I was tired of tutorials that explain what to type without explaining why it works. Every article here is written to make concepts actually click.