We need to talk about Windows Task Scheduler.
First, the good: Task Scheduler is free and easy to use. If your business has only one or two servers and you need to run a couple maintenance jobs, it’s a great tool. You can schedule your jobs based on time or have them react to local events like your computer starting up or a specified event being added to the event log.
But you aren’t just running a simple job on a single Windows server, are you? Chances are, your enterprise has multiple servers, including some Linux and UNIX, and a host of different applications that need to work together. A more advanced job scheduling solution is also more of an investment than the tool that came free on your Windows machine, but achieving comprehensive enterprise workload automation has huge payoffs. Here’s what to expect:
1. Your Job Schedule is Smarter
Workload automation should be about taking tedious, time-consuming processes out of human hands, freeing up employees to work on more strategic initiatives. If your job scheduling tool can’t complete a process without human intervention, then your organization hasn’t achieved the full benefit of automation.
In most companies, the processes eating up employee time are multi-step and span several systems and applications. For example, a file arriving on your FTP server may need to be moved to another server for processing and inclusion in an ETL process later that day. With an enterprise-class job scheduler, these steps on disparate systems can be included in the same workflow and monitored from a central location.
And what happens if a step in your process fails? If you are waiting on several data transfers to arrive before you can run your nightly processing, you don’t want to have to manually check that it’s all there before the process can proceed. A smart job scheduling tool will allow for alternate reactive paths. You can set up the software to follow an alternative set of next steps if some of the data is missing, or you can tell it to proceed without the data, depending on your requirements. If you know that some of the data will be missing on certain days (for example, if some branches of your business are closed on holidays and others are open), your workload automation solution can automatically deal with that exception.
2. You Save Time
Maintaining separate instances of Windows Task Scheduler on each of your Windows servers takes a lot of extra hours. Are you and your team constantly logging onto each server to view or schedule your tasks? It’s only going to get worse as your business grows. A centralized scheduling solution eliminates the need to spend time micro-managing each implementation of Task Scheduler.
Let’s go back to that file arriving on your FTP server. The rest of your process can’t start until the file arrives. Since your new enterprise job scheduling solution is capable of reacting to events on another server, there will be no delay between the arrival of the file and the next step in the workflow. When companies use tools without this capability, they often end up building time buffers into their processes. Over time, the minutes saved by instant triggering becomes hours of extra time for your staff.
Something else that takes up a lot of time (and money) is custom scripting, which is a typical way that businesses deal with the limitations of Windows Task Scheduler. The more tasks you need to schedule, the more unwieldy the scripting becomes and the more time it takes to create or update. Besides being time-consuming, custom scripting is risky for your company.
3. You Know What’s Happening in Your Enterprise
When you have multiple implementations of Windows Task Scheduler running on different servers, not to mention other scheduling tools like cron for your UNIX jobs or custom scripts, it can be difficult to keep track of what’s running, who needs it, and how long it’s going to take. A good central scheduler for your enterprise will have robust monitoring, reporting, and notification capabilities.
If your critical job fails, takes too long, or starts late, you want to know about it, even if you’re not nearby. Automation software with job monitoring capabilities can watch your jobs for you, notify you immediately if something goes wrong, or even automatically kick off a process to fix the issue. Windows Task Scheduler has some notification ability, but again, only for events appearing in the local event log.
Windows Task Scheduler also has limited reporting capabilities. For the sake of visibility over your organization, your automation solution should be able to show you a job history and give you a report of currently running jobs and their dependencies. This lets you know exactly what will be affected if you change one job in the job flow. A sophisticated workload automation solution will also let you look into the future. If you have to do maintenance on a server over the weekend, you probably want to know which jobs are scheduled to run at that time and how long they will likely take.
If your industry requires you to meet certain regulatory requirements like Sarbanes-Oxley, PCI, or HIPAA, then reporting capabilities are doubly important. You should be able to easily provide an auditor with all the information they might need, including who scheduled or edited each job, the exact date and time changes were made, and what action was taken if a job failed.
Finally, Windows Task Scheduler doesn’t allow users to have different roles—everyone is an admin. If you have multiple people scheduling or viewing tasks, you want to be able to limit each user’s permissions to the jobs or the functions that they absolutely need. For example, maybe some of the business departments would like to be able to monitor the status of their jobs, but you don’t want them to be able to accidentally alter every job in your enterprise schedule.