Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A process class is an object that can be assigned to a job. It has a number of functions.

Anchor
resource_contention_management
resource_contention_management

...

Use for Resource Contention Management

  • To limit the number of processes that can start in parallel.
    • If that limit were reached then an additional job would be caused to wait for the process class to become available.
    • Jobs waiting for a process class to become available will not consume system resources such as CPU or memory.
  • Example
    • Code Block
      languagexml
      titleProcess class for Resource Contention Management
      collapsetrue
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <process_class  max_processes="10"/>

Anchor
remote_execution
remote_execution

...

Use with a JobScheduler Master for Remote Execution 

  • To run a job on a remote JobScheduler Workload instance or Agent for remote execution
    • Process classes can reference remote JobScheduler instances for execution of a job:
      • At the time of job execution the initiating JobScheduler hands over the job configuration to the remote JobScheduler instancesinstance.
      • After completion of the job the initiating JobScheduler regains full control and would will continue execution e.g. with the next job in a job chain.
      • The connection to the remote JobScheduler instance makes use of TCP, i.e. the remote instance is configured by host:port.
  • Example
    • Code Block
      languagexml
      titleProcess class for Remote Execution with a Master
      collapsetrue
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <process_class  max_processes="10" remote_scheduler="somehost:4444"/>

Anchor
high_availability
high_availability

...

Use with Agents and High Availability

  • Process classes can be used as a means to implement high availability:
    • Display feature availability
      StartingFromRelease1.8
    • A sequence of JobScheduler Agents can be specified that would be checked for availability by the initiating JobScheduler instance at run-time.
    • If a JobScheduler Agent were not avaiable then the next Agent would be selected for execution of a job. The configuration is made from the <remote_schedulers select="first|next"/> attribute.
    • The connection to an Agent makes use of the HTTP or HTTPS protocol; i.e. the remote instance is configured by http://host:port or https://host:port .
  • Example
    • Agent Passive Cluster configuration

      Code Block
      languagexml
      titleProcess class for fixed-priority scheduling with Agents
      collapsetrue
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <process_class  max_processes="10"/>
          <remote_schedulers select="first">
              <remote_scheduler remote_scheduler="http://Andreas-MacBook-Pro.local:4445" http_heartbeat_timeout="15" http_heartbeat_period="10"/>
              <remote_scheduler remote_scheduler="http://localhost:4445" http_heartbeat_timeout="15" http_heartbeat_period="10"/>
          </remote_schedulers>
      </process_class>
    • Agent Active Cluster configuration

      Code Block
      languagexml
      titleProcess class for round-robin scheduling with Agents
      collapsetrue
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <process_class  max_processes="10"/>
          <remote_schedulers select="next">
              <remote_scheduler remote_scheduler="http://Andreas-MacBook-Pro.local:4445" http_heartbeat_timeout="15" http_heartbeat_period="10"/>
              <remote_scheduler remote_scheduler="http://localhost:4445" http_heartbeat_timeout="15" http_heartbeat_period="10"/>
          </remote_schedulers>
      </process_class>

See also

...