What Is Job Scheduling?
The concept of a "job" in the technical sense dates back to mainframe days when users/programmers submitted a deck of punched cards or paper tape (which represented a job) to an operator who was responsible for running the job. The user then waited for the job to finish or came back later to pick up the printout and cards from the user bin.
Because not every job demands immediate execution, jobs can be scheduled to be executed in the future. For example, a system administrator might have a job list that he follows every night:
- 10:00 PM: Run patient upload job
- 11:00 PM: Run sales data reportn
- 11:59 PM: Run database backup
Job scheduling is often referred to as running batch jobs or batch processing. These batch jobs typically run in the background and normally don't involve much user interaction. The variety of tasks that are now considered as potential batch jobs has grown significantly: It's not uncommon for larger organizations to run hundreds of jobs per hour, every hour of every day. And as the size and complexity of organizations continues to grow, so does the demand for batched jobs and a job scheduler.