Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: 'select' parameter added

...

  • Jobs and Job Chains can be executed by Agents
  • Agents can be operated in a an Agent Cluster:
    • Fixed Priority Scheduling
      • JobScheduler Master selects the first available Agent from a cluster for job execution.
      • Should an Agent not be available then the next available Agent is used.
      • Jira
        serverSOS JIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId6dc67751-9d67-34cd-985b-194a8cdc9602
        keyJS-1554
    • Round-Robin Scheduling
      • JobScheduler Master switches the Agent used for each job execution.
      • Should an Agent not be available then the next available Agent is used.
      • Jira
        serverSOS JIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId6dc67751-9d67-34cd-985b-194a8cdc9602
        keyJS-1188
  • Example configuration files are provided for downloading.

...

Flowchart
order_1 [shape="ellipse",label="Order",fillcolor="violet"] 
process_class_1 [label="Fixed Priority Scheduling Process Class\nassigned to Job Chain",fillcolor="white"] 
agent_1 [label="Agent 1\nDefaultnPrimary Agent",fillcolor="white"] 
agent_2 [label="Agent 2\nFallback Agent\nactive after failure of Agent 1",fillcolor="white"] 

job_chain_1 [label="Job Chain",fillcolor="orange"]
job_1 [label="Job 1\nexecuted on Agent 1", fillcolor="lightskyblue"]
job_2 [label="Job 2\nexecuted on Agent 2", fillcolor="lightskyblue"]
job_3 [label="Job 3\nexecuted on Agent 2", fillcolor="lightskyblue"]

order_1 -> job_chain_1
process_class_1 -> agent_1
process_class_1 -> agent_2
job_chain_1 -> job_1 -> job_2 -> job_3

agent_1 -> job_1
agent_2 -> job_2
agent_2 -> job_3

Description

  • The job chain process class is assigned a default Agent.Primary Agent and a Fallback Agent
    • Code Block
      languagexml
      titleProcess Class configuration for Fixed Priority Scheduling
      collapsetrue
      <process_class>
          <remote_schedulers select="first">
              <remote_scheduler  remote_scheduler="http://agent1:4445"/>
              <remote_scheduler  remote_scheduler="http://agent2:4445"/>
          </remote_schedulers>
      </process_class>
  • All jobs are executed by this Agent.

Example

  • the Primary Agent.
  • Only If the Primary Agent becomes unavailable then the Fallback Agent will become active.
  • If later on the Primary Agent becomes available then subsequent jobs will be executed on that Agent.

Note that:

  • Fixed Priority Scheduling requires that the select parameter is set to first as shown in the code block above.
  • If the select parameter is not set then fixed priority scheduling will be carried out by default.

Example

  • Download fixed_priority_schedulingDownload job_chain_default_agent.zip
    • Extract the archive to your live folder, a directory jobfixed_chainpriority_defaultscheduling_agent will be created.
  • The process class - 01_ProcessClass_DefaultFixed_Priority_Scheduling_Agent - has been configured for an Agent on the localhost and port 4445two Agents: adjust these values to point to your default Agent installationinstallations.

Agent configuration for Round-Robin Scheduling

 

Flowchart
order_1 [shape="ellipse",label="Order",fillcolor="violet"] 
process_class_1 [label="Round-Robin Scheduling Process Class\nassigned to Job Chain",fillcolor="white"] 
agent_1 [label="Agent 1\nFirst Agent",fillcolor="white"] 
agent_2 [label="Agent 2\nSecond Agent",fillcolor="white"] 
agent_11 [label="Agent 1\nFirst Agent",fillcolor="white"]
job_chain_1 [label="Job Chain",fillcolor="orange"]
job_1 [label="Job 1\nexecuted on Agent 1", fillcolor="lightskyblue"]
job_2 [label="Job 2\nexecuted on Agent 2", fillcolor="lightskyblue"]
job_3 [label="Job 3\nexecuted on Agent 21", fillcolor="lightskyblue"]

order_1 -> job_chain_1
process_class_1 -> agent_1
process_class_1 -> agent_2
process_class_1 -> agent_11
job_chain_1 -> job_1 -> job_2 -> job_3

agent_1 -> job_1
agent_11 -> job_3
agent_2 -> job_2

Description

  • The job chain is assigned a default Agent.process class is assigned a two Agents that are use interchangeably.
    • Code Block
      languagexml
      titleProcess Class configuration for Round-Robin Scheduling
      collapsetrue
      <process_class>
          <remote_schedulers select="next">
              <remote_scheduler  remote_scheduler="http://agent1:4445"/>
              <remote_scheduler  remote_scheduler="http://agent2:4445"/>
          </remote_schedulers>
      </process_class>
  • Jobs are executed interchangeably on each Agent.
  • If one Agent becomes unavailable then the jobs will be executed on the remaining Agent.

Note that:

  • Round-Robin Scheduling requires that the select parameter is set to next as shown in the code block above.
  • If the select parameter is not set then fixed priority scheduling will be carried out by defaultAll jobs are executed by this Agent.

Example

  • Download jobround_chainrobin_defaultscheduling_agent.zip
    • Extract the archive to your live folder, a directory jobdirectory fixed_chainpriority_defaultscheduling_agent will be created.
  • The process class - 01_ProcessClass_Round_DefaultRobin_Scheduling_Agent - has been configured for an Agent on the localhost and port 4445two Agents: adjust these values to point to your default Agent installationinstallations.

References

Change Management References

...