Introduction to AutoSys
- AutoSys is an enterprise workload automation platform for scheduling, monitoring, and managing batch jobs across multiple servers.
- It solves the cross-server dependency and centralised monitoring problem that cron simply can't handle at scale.
- Jobs are defined using JIL (Job Information Language), a scripting language specific to AutoSys.
- Enterprise workload automation for scheduling, dependency, and monitoring
- Jobs defined via JIL (Job Information Language) — scripts, executables, DB calls
- Centralised control across hundreds of servers from a single dashboard
- Job chains: Job B runs only after Job A succeeds; retry and alert logic built-in
- max_run_alarm prevents hung jobs from blocking downstream for hours
- Biggest mistake: treating it like cron — AutoSys has its own lifecycle and state machine
AutoSys Job Failure Quick Debug Cheat Sheet
Job status unknown or not running as expected
autorep -q JOB_NAMEautorep -j JOB_NAME -l020Job failed with exit code but no log
autorep -j JOB_NAME -l020 | tail -50autorep -j JOB_NAME -d | grep -i errorJob stuck in RUNNING
sendevent -E JOB_ON_ICE -J JOB_NAMEsendevent -E KILLJOB -J JOB_NAMEDependent job never starts even after upstream succeeds
autorep -j UPSTREAM_JOB -q | grep statusautorep -j DOWNSTREAM_JOB -l030 | tail -20Production Incident
max_run_alarm: 60 (minutes) to the JIL definition and configure terminate_on_max_run: yes. Set an alert on the alarm to page the on-call engineer. Also added a guard in the stored procedure to detect and exit on NULL values.Production Debug GuideSymptom → Action patterns for the most common production issues
If you've ever worked in an enterprise IT environment — banking, insurance, telecom, retail — you've probably heard someone say 'the AutoSys job failed at 2am.' AutoSys is the tool that runs the world's batch processing. It's been doing this since CA Technologies (now Broadcom) released it in the 1990s, and it's still running mission-critical ETL pipelines, payroll runs, and report generation at thousands of companies today.
The reason AutoSys stuck around isn't nostalgia. It's because it solves a real problem that simple cron jobs can't: running complex workflows where Job B depends on Job A, Job A might fail and need a retry, and you need a centralised dashboard to see what's happening across 200 servers at once.
What is AutoSys and what does it actually do
AutoSys is a workload automation platform. At its core it does three things: scheduling (run this job at 3am every weekday), dependency management (run this job only after that job succeeds), and monitoring (alert me if anything takes longer than expected or fails).
A 'job' in AutoSys can be any executable — a shell script, a Python script, a Java program, a database procedure call, or even just a system command. AutoSys doesn't care what the job does; it just controls when it runs and what happens next.
/* A basic AutoSys job definition */ insert_job: daily_report job_type: CMD command: /opt/scripts/generate_report.sh machine: prod-server-01 owner: svcaccount days_of_week: mo,tu,we,th,fr start_times: "06:00" description: "Generates daily sales report"
jil command before deploying to production.Why enterprises use AutoSys instead of cron
Cron is great for simple, single-server scheduling. But AutoSys was built for a different scale. When you have hundreds of interdependent jobs running across dozens of servers, cron's limitations become painful fast.
AutoSys gives you: centralised control across all servers from one place, job dependency chains (job C only runs if job A and B both succeeded), a GUI to visualise job flows, automatic retry logic, alerting when jobs take too long or fail, audit trails for compliance, and the ability to put jobs on hold or ice without deleting them. Banks running end-of-day settlement processes can't afford to manage 500 cron entries across 30 servers manually.
Who uses AutoSys in the real world
AutoSys is heavily used in industries that run large batch workloads on tight schedules: banking and financial services (end-of-day processing, regulatory reporting), insurance (claims processing, premium calculations), telecoms (billing runs, CDR processing), retail (inventory reconciliation, overnight pricing updates), and healthcare (claims adjudication, HL7 batch feeds).
If you're going for a role as a batch developer, ETL developer, production support engineer, or middleware/integration developer at any large enterprise, there's a solid chance AutoSys is in the stack.
AutoSys Job Lifecycle and Key Concepts
An AutoSys job goes through a defined lifecycle: INITIAL → STARTING → RUNNING → SUCCESS (or TERMINATED). You can also place a job in ON ICE (permanently inactive) or ON HOLD (inactive until its condition is met, then it runs automatically when the condition clears).
status: current state of the jobcondition: expression that controls when a job starts based on upstream job statusesstart_times: wall-clock time triggersmax_run_alarm: maximum allowed runtime before an alarm firesbox: a container job that groups jobs together for scheduling and visibility
Jobs are defined using JIL and stored in the AutoSys Event Server database.
/* Box job containing two child jobs with dependency */ insert_job: end_of_day_box job_type: BOX insert_job: settlement job_type: CMD box_name: end_of_day_box command: /app/scripts/run_settlement.sh machine: batch-srv-01 owner: batchuser start_times: "02:00" insert_job: reconciliation job_type: CMD box_name: end_of_day_box command: /app/scripts/run_recon.sh machine: batch-srv-02 owner: batchuser condition: success(settlement) start_times: "02:30"
- A box's status aggregates child statuses — if any child fails, the box shows FAILURE.
- You can start/stop a box, and it cascades to all children.
- Boxes can be nested, allowing hierarchical grouping of complex workflows.
Common Job Statuses and What They Mean in Production
AutoSys jobs report one of about 12 statuses. The ones you'll encounter most:
- INITIAL (IN): Job exists but hasn't been activated yet. Usually means it's waiting for its schedule or condition.
- STARTING (ST): Job is being dispatched to the agent machine.
- RUNNING (RU): Job is executing on the agent. This is where most hangs occur.
- SUCCESS (SU): Job completed with exit code 0.
- FAILURE (FA): Job completed with non-zero exit code.
- TERMINATED (TE): Job was forcibly killed (by user or max_run_alarm).
- ON ICE (OI): Job is permanently inactive — won't run even if conditions are met.
- ON HOLD (OH): Job is temporarily inactive; it becomes active when its condition is satisfied.
- RESTART (RR): Job was restarted manually or via retry.
- ACTIVATED (AC): Box job is active and ready to run children.
- PENDING (PE): Job is queued but waiting for an agent machine to be available.
Knowing the status tells you exactly where to look next.
autorep -j JOB_NAME -l020 to see the last run's exit code and log; use -l030 for the full history.| Feature | AutoSys | Cron | Windows Task Scheduler |
|---|---|---|---|
| Job dependencies | Yes — full condition logic | No | Limited |
| Cross-server scheduling | Yes — centralised | No — per server | No — per machine |
| GUI / dashboard | Yes — WCC GUI | No | Yes — basic |
| Retry on failure | Yes — configurable | No — manual | Limited |
| Audit trail | Yes — full event log | No | Limited |
| Alert on overrun | Yes — max_run_alarm | No | No |
| Hold/suspend jobs | Yes — ON HOLD / ON ICE | No — must delete | Limited |
🎯 Key Takeaways
- AutoSys is an enterprise workload automation platform for scheduling, monitoring, and managing batch jobs across multiple servers.
- It solves the cross-server dependency and centralised monitoring problem that cron simply can't handle at scale.
- Jobs are defined using JIL (Job Information Language), a scripting language specific to AutoSys.
- It's heavily used in banking, insurance, telecoms, and other industries that run large overnight batch workloads.
- AutoSys is now owned by Broadcom and actively developed as of 2026.
- Always set max_run_alarm. Always test with the service account. Never confuse ON HOLD and ON ICE.
⚠ Common Mistakes to Avoid
Interview Questions on This Topic
- QWhat is AutoSys and what problems does it solve that cron cannot?JuniorReveal
- QName the three types of jobs in AutoSys.JuniorReveal
- QWhat is JIL and how is it used to define jobs?Mid-levelReveal
- QIn what industries is AutoSys most commonly used and why?JuniorReveal
- QWhat is the Event Server and what does it store?Mid-levelReveal
- QWhat is the difference between ON HOLD and ON ICE?SeniorReveal
Frequently Asked Questions
Is AutoSys still relevant in 2026?
Yes. While newer tools like Apache Airflow are popular in data engineering, AutoSys remains dominant in traditional enterprise environments — especially banking, insurance, and telecom — where it manages mission-critical batch workloads that have been running reliably for years.
Do I need to know Linux to use AutoSys?
A working knowledge of Linux/Unix commands helps significantly since most AutoSys jobs run shell scripts. But the AutoSys Web UI and WCC (Workload Control Center) can be used without deep Linux knowledge for monitoring and job management.
What is the difference between CA AutoSys and Broadcom AutoSys?
They're the same product. CA Technologies developed AutoSys, and Broadcom acquired CA in 2018. The product continues under Broadcom as AutoSys Workload Automation. Version numbers and feature names have stayed largely consistent.
Can AutoSys run Python scripts?
Yes. Any executable that can be run from the command line can be a CMD job in AutoSys — Python scripts, shell scripts, Java jars, database commands, and more. AutoSys simply calls the command on the target machine.
How do I debug a job that fails with exit code 1?
First run autorep -j JOB_NAME -l020 to see the last run's stdout/stderr. If that doesn't help, check the agent machine's log at /tmp/... (auto user's home)/logs. If the job uses environment variables, verify they are defined in the AutoSys profile or JIL.
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.