JobScheduler
Developer(s) | Software- und Organisations-Service GmbH[1] |
---|---|
Initial release | 2005[2] |
Stable release |
1.10.6[3]
/ November 4, 2016 |
Development status | Active |
Written in | C++, Java, Scala, JavaScript |
Operating system | Master: Linux, Windows; Agent: any platform |
Available in | English |
Type | job scheduling |
License | GPL or closed source license[4] |
Website | JobScheduler |
The JobScheduler is an open-source computer application for enterprise-level scheduling and process automation. It is used to launch executable files and shell scripts and to automatically run database procedures. The JobScheduler stores status and historical information in a backend database management system.
All features of the JobScheduler can be used under the GPL license. A commercial license is available for users seeking enterprise-level support and services.
Key functions
- The JobScheduler can start executable files, shell scripts and database procedures.[5]
- Job starts can be triggered by events such as calendar events, monitoring of incoming files, other job scheduling events (forward dependencies) and API events initiated by external applications.[6]
History and Development
The JobScheduler has been developed by the SOS GmbH with code contributed by Joacim Zschimmer.[6] Development of the JobScheduler as an independent product was begun in 2005 and it was released under the open source GPL 2 license in the same year.[2] 64-bit versions of the JobScheduler were released in 2013 [7] and the Universal Agent in September 2015[8]
Notability
The SOS GmbH and the JobScheduler were recognized in 2012 with selection by the Gartner IT research and advisory company for their Magic Quadrant report on the world-wide workload automation market. The JobScheduler was described as "... attractive for organizations with an open-source tool adoption policy."[9]
Description
Architecture
- The JobScheduler can be configured to run as a standalone application.[10]
- The JobScheduler implements a master / agent architecture to run jobs on the master and on agents that are deployed to remote computers.[10]
- The JobScheduler master and agents can be configured to run in high availability and load balancing clusters with fixed priority scheduling and round-robin scheduling.[11]
- For deployment of jobs a JobScheduler supervisor can be used that synchronizes the configuration in a cluster.[12]
Modes of operation
- The JobScheduler runs unattended in the background as a Unix daemon or Windows service:[6]
- The JobScheduler can be used for batch processing to run a series of operations.
- Near real-time processing can be initiated for individual operations. Near real-time triggers can be generated on the fly in response to external events such as the arrival of incoming files.[13]
- Monitoring and manual intervention can be carried out from the command line or with a built-in web-based graphical user interface.[14]
Key features
- Job chains, which can be seen as an assembly line on which multiple job nodes are passed. Each job in a job chain makes up a step in the processing of the chain.[15]
- Job dependencies, which can be based on the results of the execution of preceding job nodes in one or more job chains.[16]
- Cross-platform scheduling:[17]
- Active/passive clusters for scalability & high-availability.[20]
- Recording of job history,[21] frequency and log information[22] in SQL databases.
- Triggering of job starts by directory monitoring[23] and file watching.[24]
- Built-in file transfer capabilities.[25]
- Scripting capabilities (Shell, JavaScript, PowerShell, etc.).[26]
- A monitoring interface for integration with system monitors such as Nagios, Zabbix, SCOM, etc.[27]
- A library of standard job templates covering operations such as file transfer and log rotation.[28]
- Graphical interfaces for job configuration, workflow control and access to the job logs and history.[29]
Implementation
- The JobScheduler master is written in C++ and Java, the agent has been developed with Scala and Java. Standard jobs distributed with the JobScheduler are implemented with Java.[14]
- Information about the individual objects processed by the JobScheduler - jobs, job chains, orders, schedules, etc. - are persistently stored in the form of XML files.[6]
- A database management system (DBMS) is used by the JobScheduler master to store job status, protocol and history information.[6] Supported DBMSs are listed below.
JobScheduler Universal Agent
- The Universal Agent has been introduced for carrying out complex scheduling tasks on remote computers and operating systems not otherwise supported by the JobScheduler master.[30]
- The agent runs on any operating system that supports a Java Virtual Machine.[18][30]
- The agent acquires its configuration and task execution requests from one or more JobScheduler master instances and does not require a DBMS.[30]
- Master / agent communication uses a single HTTP or HTTPS connection.[31]
- A number of JobScheduler agents can be configured in an agent cluster for redundancy and fail-over.[18]
Supported platforms
JobScheduler Master
Operating systems:[32]
Database management systems:[33]
JobScheduler Universal Agent
The Universal Agent can be run on any operating system that supports a Java Virtual Machine. A DBMS is not required.[30]
Licensing
The JobScheduler can be used under the open source GPL 2.0 license. Users can also purchase commercial licenses.[4] The JobScheduler Universal Agent can be used under a freeware license (under restriction) or commercial licenses.[4]
Support and Services
Enterprise-level support and services are available for users with commercial licenses.[4] Users operating JobScheduler under the open source license can obtain support from the JobScheduler Knowledge Base and the forum on SourceForge.
See also
- List of job scheduler software
- Mohr, James: "Job Scheduling à la Carte", Linux Magazine, December 2008, #97; Online version here.
- Simon Brock, Simon: "The perfect open-source task scheduler" February 2010, Dennis Publishing Limited, U.K.; Accessed May 2016.
References
- ↑ "Legal Notice". Software- und Organisations-Service. Retrieved 27 May 2016.
- 1 2 "Job Scheduler 1.2 moved to SourceForge.net". SourceForge. Retrieved 27 May 2016.
- ↑ "Versions". SOS GmbH Change Management System. Retrieved 7 Nov 2016.
- 1 2 3 4 "Licensing". Software- und Organisations-Service. Retrieved 2015-09-16.
- ↑ "Features". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- 1 2 3 4 5 "The JobScheduler in a Nutshell". Software- und Organisations-Service. Retrieved 26 May 2016.
- ↑ "64-Bit JobScheduler released". Software- und Organisations-Service. Retrieved 26 May 2016.
- ↑ "JobScheduler, Universal Agent and JADE 1.10 released". Software- und Organisations-Service. Retrieved 26 May 2016.
- ↑ Govekar, Milind; Mahapatra, Biswajeet (February 2012). Magic Quadrant for Workload Automation. Stamford: Gartner, Inc. G00219826.
- 1 2 "Architecture". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- ↑ "High Availability". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- ↑ "Supervisor". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- ↑ "Orders". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- 1 2 "JobScheduler". Software- und Organisations-Service. Retrieved 26 May 2016.
- ↑ "Job Chains". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "Job dependencies". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "Cross-Platform Scheduling". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- 1 2 3 "JobScheduler Universal Agent". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- ↑ "Agentless Scheduling". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "Cluster Operation". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "Daily Plans". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "What logging possibilities does JobScheduler provide". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "Directory Monitoring". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "File Watching". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "YADE Advanced File Transfer". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "Scripting". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "JobScheduler Monitoring Interface". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "JITL - JobScheduler Integrated Template Library". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- ↑ "Components". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016.
- 1 2 3 4 "JobScheduler Universal Agent". Software- und Organisations-Service. Retrieved 26 May 2016.
- ↑ "JobScheduler Universal Agent - Secure HTTPS communication". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- ↑ "Which platforms is JobScheduler available for and what platform support is provided?". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
- ↑ "Which common Database Management Systems are supported by JobScheduler". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016.
External links
- Product web site
- Software- und Organisations-Service GmbH company web site, located in Berlin, Germany