Job Scheduler Article Index for
Job
Website Links For
Job
 

Information About

Job Scheduler





OVERVIEW

Basic features expected from a Job Scheduler software are:
  • Interfaces to define workflows and/or job dependencies

  • Automatic submission of executions

  • Interfaces to monitor the executions

  • Priorities and/or queues to control the execution order of unrelated jobs


If software from a completely different area includes all or some of those features, this software has Job Scheduling capabilities.

Many programs such as DBMS , Backup , ERPs , and BPM include relevant Job Scheduling capabilities.


MAIN CONCEPTS

There are many concepts that are central to almost every Job Scheduler implementation and that are widely recognised with minimal variations.

  • Jobs

  • Dependencies

  • Job Streams

  • Users


Two major architectures exist for Job Scheduling software.

  • Master/Agent architecture — the historic architecture for Job scheduling software. The Job Scheduling software is installed on a single machine (Master) while on production machines only a very small component is installed (Agent) that waits commands from the Master, executes them, and returns the exit code back to the Master.

  • Cooperative architecture — a decentralized model where each machine is capable of helping with scheduling and can offload locally scheduled jobs to other cooperating machines.




HISTORY

From a historical point of view, we can distinguish two main eras about Job Schedulers:

# The mainframe era

  • modern schedulers on a variety of architectures and operating systems



SCHEDULING

Various schemes are used to decide which particular job to run. Parameters that might be considered include:
  • job priority

  • compute resource availability

  • license key if job is using licensed software

  • execution time allocated to user

  • number of simultaneous jobs allowed for a user

  • estimated execution time

  • elapsed execution time



IMPLEMENTATIONS

There are many implementations of Job Scheduling software. Most are commercial implementations, with less open source implementations.


Commercial Implementations



Open Source Implementations

Open source development in the Job Scheduling category seems to be immature at present.