• SOS is moving the JobScheduler architecture towards improved cross-platform support.

  • User needs have been identified 

    • to support more Unix platforms and versions.

    • to provide a more simple deployment of JobScheduler at enterprise level.
  • Correspondingly SOS provides a Scala / Java based JobScheduler Universal Agent that is platform independent and is easily deployed.

Key Features

Platform Independence

  • The Agent is developed with Scala and Java. The only requirement is a Java Runtime Environment starting from version 1.8.
  • Technically the JobScheduler Universal Agent can be operated on any platform that is Java aware.
  • see Platform Support

Zero Configuration

  • The Agent has been designed to require zero configuration:
    • An Agent is not configured for a specific Master. Instead the Agent serves requests from any Master and is addressed by Process Classes of a Master.
    • Agent configuration is not required.
  • Easy Deployment
    • Deploying the Agent to hundreds of servers is a task of minutes.
    • JobScheduler can be used to automate the deployment of Agents. Alternatively popular tools such as Puppet® can be applied.

Agent Clustering

  • A number of JobScheduler Agents can be configured in an Agent Cluster for redundancy and fail-over of Agents.
  • Fixed Priority Scheduling
    • JobScheduler Master will select the first available Agent for execution of jobs. 
    • If an Agent is not available then the next available Agent is selected from the Agent Cluster.
  • Round-Robin Scheduling
    • JobScheduler Master switches the Agent for each job execution. 
    • If an Agent is not available then the next available Agent is selected from the Agent Cluster.
  • See How to use Agents with Fixed Priority Scheduling and Round-Robin Scheduling

User Switching

  • The Universal Agent can switch user accounts on Windows Systems, with authentication information being stored in the Windows Credential Manager. This solution provides a secure and compliant implementation that does not require the main Agent process to be run as root.
  • See JobScheduler Universal Agent - Running jobs as a different user

Download & Installation

Job and Job Chain Execution

  • Jobs and Job Chains are linked to Agents by means of Process Classes.
    • A process class is assigned an Agent.
    • A job or job chain is assigned a process class.
  • A job chain can be configured to use: 
    • A default process class for subsequent job nodes. This enables a more flexible configuration than assigning the process class to a specific job that would be used for all jobs chains.
    • A second process class for File Watching that is assigned an Agent that triggers file orders for incoming files on the Agent host.
  • See How to execute Jobs and Job Chains with Agents

Migration Strategy

  • Users of the existing JobScheduler instances on platforms different from Windows and Linux are asked to consider the proposed Migration Strategy.
  • Commercial license holders of JobScheduler on platforms different from Windows and Linux can ask for our Migration Service.


  • We ask our community to engage in testing of the JobScheduler Universal Agent for additional platforms, operating systems and versions.
  • Please send us an e-mail and let us know the platforms that you operate the JobScheduler Universal Agent for and tell us about your experiences.