AutoSys Override Trap — Active Override Overrules Permanent
Even after updating permanent start_times, a forgotten one-time override causes next run to use wrong old time.
- One-time overrides change job attributes for the next run only, then expire
- Use override_job in JIL to set temporary values for start_times, machine, condition, etc.
- The permanent job definition remains untouched — no manual rollback needed
- Overrides persist until the job runs once, even if the scheduled time is days away
- Production risk: an active override can go unnoticed and cause confusion when a job behaves differently than expected
- Always audit active overrides with autorep -J
-d before making investigations
A one-time override is like telling a taxi driver 'just for this trip, take the highway instead of the usual route' — without permanently changing the route on the GPS. The next trip, the driver goes back to the normal route.
Sometimes you need to run a job differently for just one execution — a different start time, a different machine, a different command argument — without changing the permanent job definition. That's what one-time overrides are for.
This is a genuinely useful feature that many AutoSys users don't know about. Instead of updating the job, running it, then updating it back, you use override_job to specify the temporary change and it applies only to the next run.
How override_job works
override_job creates a temporary set of attribute changes that apply to the next execution of a job, then expire automatically after that run. The permanent job definition is unchanged. The override is stored in AutoSys's Event Server as a separate record keyed by job name. It's conceptually like a sticky note — attached until the job runs once, then discarded.
You can override any attribute that is normally set with insert_job or update_job: start_times, condition, machine, command, owner, etc. Multiple attributes can be overridden in one override_job statement by listing them each on a new line after the override_job: directive.
Viewing active overrides
You can see what overrides are currently active using autorep. This is important to check when a job behaves unexpectedly — it might have an active override you didn't know about. The -d (detail) flag shows overrides separately from base values, while -q (JIL query) shows the full effective JIL including any overrides merged in.
When to use overrides vs permanent updates
- You're making a temporary change for one specific run (e.g., running at a different time due to system maintenance)
- You need to test a different machine without changing the production definition
- You want to skip a dependency condition for a one-off catch-up run
- The change is permanent or semi-permanent — use update_job instead
- You need to change the change more than 24-48 hours before the job runs — overrides can be confusing if they sit around for days
Cancelling an active override
There is no direct 'cancel override' command. To remove an active override, you have two options:
- Run update_job on the same attributes that were overridden. update_job will overwrite the override value and reset the attribute to its new permanent value. The override record is then removed.
- Run override_job again with the original permanent values. This creates a new override that cancels the effect of the previous one. After the next run, both overrides are consumed.
Option 1 is cleaner and recommended. Option 2 can lead to a chain of overrides that becomes hard to track.
You cannot simply delete an override record via JIL — it's not a separate object. It's attached to the job until the job runs or is updated.
Best practices and common pitfalls
Centralise override documentation — every override should be logged in a shared channel or incident tracker. This prevents the 'mysterious behaviour' scenario.
Set a TTL reminder: if you set an override more than a day before the job runs, set a calendar reminder to verify it's still needed.
Avoid overriding condition unless you fully understand the dependency chain. An empty condition can cause a job to run out of order and break downstream processes.
Use a script to list all active overrides across your environment periodically (autorep -J ALL -d | grep OVERRIDE). This catches forgotten overrides before they cause issues.
- Override = temporary note attached to the job
- It's visible only if you look specifically (-d flag)
- It gets thrown away after the job runs once
- Multiple sticky notes (overrides) stack — only the latest matters per attribute
- If you move the job (delete/recreate), the note may still be on the desk
Silent Scheduling Shift Due to Forgotten Override
override_job: nightly_etl with start_times: "02:00" to replace the override with the correct value, or use update_job to set the permanent value and then delete the override by running override_job with empty attributes (not officially supported — safest is to reapply the correct override). Alternatively, use autorep -J nightly_etl -q to see the override, then issue update_job on the same attributes to permanently change them and the override will be removed.- An active override always takes precedence over the permanent definition, even after you run update_job.
- Always remove or update overrides before relying on the permanent definition.
- Document overrides in a shared channel or ticket — don't rely on memory.
autorep -J <job> -d and look for [OVERRIDE] next to start_times. If present, remove or fix the override.autorep -J <job> -q if condition field has an override — empty condition string means no condition for this run.autorep -J <job> -d and look at the 'override' section. Overrides often remain from temporary changes made during maintenance.Key takeaways
Common mistakes to avoid
5 patternsSetting an override and forgetting about it
Using override_job for a change you actually want to keep permanently
Thinking override_job runs the job immediately
Not documenting that an override was set
Believing update_job clears all overrides
Interview Questions on This Topic
What is a JIL one-time override in AutoSys?
Frequently Asked Questions
That's AutoSys. Mark it forged?
3 min read · try the examples if you haven't