JobScheduler

From Wikipedia, the free encyclopedia
  (Redirected from Open Source Job Scheduler)
Jump to: navigation, search
JobScheduler
Job scheduler log wiki.jpg
Developer(s) Software- und Organisations-Service GmbH[1]
Initial release 2005; 12 years ago (2005)[2]
Stable release
1.11.0[3] / March 20, 2017; 1 day ago (2017-03-20)
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[edit]

  • 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[edit]

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[edit]

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[edit]

Architecture[edit]

  • 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[edit]

Key features[edit]

  • 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]
    • Universal agents to execute jobs directly on remote hosts across different operating systems,[18]
    • Agentless scheduling to execute jobs across different operating systems.[19]
  • 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[edit]

  • 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[edit]

  • 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[edit]

JobScheduler Master[edit]

Operating systems:[32]

Database management systems:[33]

JobScheduler Universal Agent[edit]

The Universal Agent can be run on any operating system that supports a Java Virtual Machine. A DBMS is not required.[30]

Licensing[edit]

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[edit]

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[edit]

References[edit]

  1. ^ "Legal Notice". Software- und Organisations-Service. Retrieved 27 May 2016. 
  2. ^ a b "Job Scheduler 1.2 moved to SourceForge.net". SourceForge. Retrieved 27 May 2016. 
  3. ^ "Versions". SOS GmbH Change Management System. Retrieved 7 Nov 2016. 
  4. ^ a b c d "Licensing". Software- und Organisations-Service. Retrieved 2015-09-16. 
  5. ^ "Features". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  6. ^ a b c d e "The JobScheduler in a Nutshell". Software- und Organisations-Service. Retrieved 26 May 2016. 
  7. ^ "64-Bit JobScheduler released". Software- und Organisations-Service. Retrieved 26 May 2016. 
  8. ^ "JobScheduler, Universal Agent and JADE 1.10 released". Software- und Organisations-Service. Retrieved 26 May 2016. 
  9. ^ Govekar, Milind; Mahapatra, Biswajeet (February 2012). Magic Quadrant for Workload Automation. Stamford: Gartner, Inc. G00219826. 
  10. ^ a b "Architecture". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  11. ^ "High Availability". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  12. ^ "Supervisor". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  13. ^ "Orders". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  14. ^ a b "JobScheduler". Software- und Organisations-Service. Retrieved 26 May 2016. 
  15. ^ "Job Chains". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  16. ^ "Job dependencies". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  17. ^ "Cross-Platform Scheduling". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  18. ^ a b c "JobScheduler Universal Agent". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  19. ^ "Agentless Scheduling". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  20. ^ "Cluster Operation". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  21. ^ "Daily Plans". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  22. ^ "What logging possibilities does JobScheduler provide". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  23. ^ "Directory Monitoring". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  24. ^ "File Watching". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  25. ^ "YADE Advanced File Transfer". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  26. ^ "Scripting". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  27. ^ "JobScheduler Monitoring Interface". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  28. ^ "JITL - JobScheduler Integrated Template Library". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  29. ^ "Components". SOS GmbH Product Knowledge Base. Retrieved 27 May 2016. 
  30. ^ a b c d "JobScheduler Universal Agent". Software- und Organisations-Service. Retrieved 26 May 2016. 
  31. ^ "JobScheduler Universal Agent - Secure HTTPS communication". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  32. ^ "Which platforms is JobScheduler available for and what platform support is provided?". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 
  33. ^ "Which common Database Management Systems are supported by JobScheduler". SOS GmbH Product Knowledge Base. Retrieved 26 May 2016. 

External links[edit]