The JobScheduler is an open source solution for enterprise level process automation. JobScheduler is used to launch executable files and shell scripts and to run database procedures automatically. JobScheduler stores all information in a back-end database system.
- Launch executable files, shell scripts and database procedures automatically.
- Trigger events for job starts such as calendar events, monitoring of incoming files and API events initiated by external applications.
Mode of Operation
- Used for batch scheduling, the JobScheduler Master runs as Unix daemon or Windows service in the background,
- Jobs are executed on a JobScheduler Master instance or on any JobScheduler Universal Agent.
- Job control is carried out by command line or by a built-in graphical user interface JOC (JobScheduler Operations Center).
- A graphical XML editor JOE (Job Object Editor) for job configuration is available.
- Jobs are the basic unit for the processing of executable files, shell scripts, database procedures and of job implementations based on the JobScheduler API.
- Jobs can be executed independently from one another. Depending on the execution result, i.e. exit code signaling success, failure or a specific exit code, of a job any number of successor jobs can be started.
- Jobs can be executed in parallel up to a configurable number of simultaneous tasks.
- Job chains can be seen as an assembly line on which multiple job nodes are passed. Therefore, each job comprises exactly one step in the processing of a job chain. Job dependencies based on execution results of the respective job nodes can be configured for a job chain.
- Monitoring of directories can trigger job starts, this allows the integration of legacy applications into the business workflow.
- Jobs execute file transfers based on the built-in FTP and SFTP capabilities as a widespread means to integrate applications.
- Job starts are triggered by built-in calendar, by command line or by web interface.
- Other applications can start jobs or otherwise control the JobScheduler via APIs.
- Job activities can be limited to time slots. The JobScheduler supports any number of time slots, which can be configured according to individual requirements.
- The JobScheduler allows the assignment of job priorities.
- Job history protocols are optionally stored in a database.
- The locking feature prevents that two jobs access the same resource, e.g. a file or database, at the same time. In other words, only one process at a time can receive the exclusive right to access the resource as long as the lock is active.
- Standard job packages e.g. for log rotation and cleanup, sanity checking, job execution by remote JobSchedulers and file transfer.
- Notifications for job execution results by e-mail, configurable logging and monitoring of logs.
- API to implement jobs and job scripts, e.g. for complex conditional processing.
- Different graphical user interfaces: A built-in interface for job control and a GUI for managing configurations for several JobSchedulers on different server systems.
- High-availability Cluster: a JobScheduler backup cluster ensures fail-safe operation and fault tolerance with automatic fail-over. A fail-safe system consists of a primary JobScheduler and at least one backup, with both these JobSchedulers running on different computers.
- Load sharing: For a high volume of data with time consuming processing using multiple JobSchedulers will speed up the processing time considerably and provide higher availability. In load sharing mode the processing tasks are shared between multiple JobSchedulers that are handling distributed orders on more than one host.
- Solution stacks are implementations with third party Open Source components that are available for e.g.
- System Monitors such as Nagios®, op5®, Zabbix® etc.
- Secure Shell remote execution, SCP Secure Copy and SFTP Secure file transfer.
- The JobScheduler is written in C++ and Java, standard jobs are implemented with Java Version 1.7 and higher.
- Since JobScheduler release 1.6.4036 a JRE 1.7 or newer is required.
- Starting with JobScheduler release 1.9 a JRE 1.8 or newer is required.
- The Open Source JobScheduler is customized according to specific business requirements. Enterprise level Support is available.
- JobScheduler can be operated for a number of Platforms, see Which platforms is JobScheduler available for and what platform support is provided?
- Use Cases
- Platforms and Operating Systems
- Database Management Systems
- User Interfaces
- Command Line Operation
- Start Times
- Jobs, Job Chains and Orders
- Error Handling
- Event Handling
- High Availability
- Cross-Platform Scheduling
- Central Configuration
- Directory Monitoring and File Watching
- Managed File Transfer
- Resource Contention Management
- Programming Interfaces
- Maintenance Window Management
- Migration and Integration
- GUI for Daily Work Plans - JID
- Operating and Monitoring GUI - JOC
- Editor for Creating and Managing JobScheduler Objects - JOE
- Build Instructions
- JobScheduler - Tutorials - Introduction and Requirements
- JobScheduler - Tutorial 1 - Running a simple job using JOC
- JobScheduler - Tutorial 2 - Editing a Simple Job with JOE
- JobScheduler - Tutorial 3 - Running an Order Using the Run Time Parameter
- JobScheduler - Tutorial 4 - Configuring and Running a JITL Job
- JobScheduler - Tutorial 5 - The YADE JITL Job - Configuring and running file transfer jobs
- How To