Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: 'Agent Cluster' link added

Table of Contents

Scope

  • Jobs and Job Chains can be executed by Agents. 
  • This article describes some of the possible ways available for assigning Agents to jobs and job chains.
  • Example configuration files are provided for downloading.

Assignment of Agents

...

  • Jobs and job chains are linked to Agents by means of Process Classes.
    • A process class
    is assigned
    • can be assigned an Agent.
        A job chain is assigned
          • Note that more than one Agent can be assigned to a process class to form an Agent Cluster but this is outside the scope of this article.
        A job is assigned
          • See
            Jira
            serverSOS JIRA
            columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
            serverId6dc67751-9d67-34cd-985b-194a8cdc9602
            keyJS-1188
             and the JobScheduler Universal Agent - Agent Cluster article for more information)
        • A job or job chain can be assigned a process class.

       

      • A job chain can be configured to use a specific :
        • 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.
      • Precedence of process class assignments in decreasing sequence:
        1. order
          • the assignment of an Agent process class is not supported (JS-1189)
          • the assginment of a remote JobScheduler instance is supported
        2. job chain
        3. job

       

        • A second process class for File Watching that is assigned an Agent that triggers file orders for incoming files on the Agent host.

      Related Features

      • Jobs
        • Jira
          serverSOS JIRA
          columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
          serverId6dc67751-9d67-34cd-985b-194a8cdc9602
          keyJS-1464
        • Jira
          serverSOS JIRA
          columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
          serverId6dc67751-9d67-34cd-985b-194a8cdc9602
          keyJS-1450
      • Job Chains
        • Jobs
        • Job Chains
          • Default Assginment
              • Jira
                serverSOS JIRA
                columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
                serverId6dc67751-9d67-34cd-985b-194a8cdc9602
                keyJS-1301
            • File Order Source
              • Jira
                serverSOS JIRA
                columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
                serverId6dc67751-9d67-34cd-985b-194a8cdc9602
                keyJS-1300
              • Jira
                serverSOS JIRA
                columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
                serverId6dc67751-9d67-34cd-985b-194a8cdc9602
                keyJS-1399
          • Agent Clusters
            • 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-14271554
            • 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-13001188

          Delimitation

          • Agent Clusters
            • Agent Clusters with support for File Order Sources are subject to future development.Orders
              • Jira
                serverSOS JIRA
                columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
                serverId6dc67751-9d67-34cd-985b-194a8cdc9602
                keyJS-1189
            Various
              • 1427
          • Dynamic Agent Assignment
            • The assignment of Agents to job nodes (instead of jobs) is subject to future development.
              • Jira
                serverSOS JIRA
                columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
                serverId6dc67751-9d67-34cd-985b-194a8cdc9602
                keyJS-
              1450

           

              • 1343
            • The assignment of Agents by orders is subject to future development. 
              • Jira
                serverSOS JIRA
                columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
                serverId6dc67751-9d67-34cd-985b-194a8cdc9602
                keyJS-973
              • Jira
                serverSOS JIRA
                columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
                serverId6dc67751-9d67-34cd-985b-194a8cdc9602
                keyJS-1189

          Use Cases

          ...

          A Job Chain is assigned

          ...

          a default Agent for all Job Nodes

           

          Flowchart
          order_1 [shape="ellipse",label="Order",fillcolor="violet"] 
          process_class_1 [label="Default Agent\nassigned to Process Class",fillcolor="white"] 
          
          job_chain_1 [label="Job Chain",fillcolor="orange"]
          job_1 [label="Job 1\nexecuted on default Agent", fillcolor="lightskyblue"]
          job_2 [label="Job 2\nexecuted on default Agent", fillcolor="lightskyblue"]
          job_3 [label="Job 3\nexecuted on default Agent", fillcolor="lightskyblue"]
          
          order_1 -> job_chain_1
          process_class_1 -> job_chain_1
          job_chain_1 -> job_1 -> job_2 -> job_3
          

          Description

          • The job chain is assigned a default Agent.
          • All jobs are executed by this Agent.

          Example

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

          A Job Chain is assigned a default Agent and one Job is assigned a second Agent

           

          Flowchart
          order_1 [shape="ellipse",label="Order",fillcolor="violet"] 
          process_class_1 [label="Default Agent\nassigned to Process Class 1",fillcolor="white"] 
          process_class_2 [label="Second Agent\nassigned to Process Class 12",fillcolor="white"]  
          
          job_chain_1 [label="Job Chain 1",fillcolor="orange"]
          job_1 [label="Job 1\nexecuted on default Agent 1", fillcolor="lightskyblue"]
          job_2 [label="Job 2\nexecuted on second Agent 1", fillcolor="lightskyblue"]
          job_3 [label="Job 3\nexecuted on default Agent 1", fillcolor="lightskyblue"]
          
          order_1 -> job_chain_1
          process_class_1 -> job_chain_1
          process_class_2 -> job_2
          job_chain_1 -> job_1 -> job_2 -> job_3
          

          ...

          Description

          • The job chain is assigned a default Agent.
          • One job is executed by a second Agent.

          Example

          • Download job_chain_default_second_agent.zip
            • Extract the archive to your live folder, a directory job_chain_default_second_agent will be created.
          • The process class - 01_ProcessClass_Default_Agent - has been configured for an Agent on the localhost and port 4445: adjust these values to point to your default Agent installation.
          • The process class - 01_ProcessClass_Second_Agent - has been configured for an Agent on the Andreas-MacBook-Pro.local and port 4445: again, adjust these values to point to your default Agent installation.

          A Job Chain is assigned a default Agent and a different

          ...

          Agent for File

          ...

          Watching

           

          Flowchart
          order_1 [shape="ellipse",label="File Order 1",fillcolor="violet"] 
          process_class_1 [label="Agent 1 (File OrderWatching Source)Agent\nassigned to Process Class 1",fillcolor="white"] 
          process_class_2 [label="Agent 2 (Job Nodes)Default Agent\nassigned to Process Class 2",fillcolor="white"] 
          
          job_chain_1 [label="Job Chain 1",fillcolor="orange"]
          
          file_order_source [label="File Order Source\nexecuted onby File Watching Agent 1", fillcolor="lightskyblue"]
          file_order_sink [label="File Order Sink\nexecuted by File onWatching Agent 1", fillcolor="lightskyblue"]
           
          job_1 [label="Job 1\nexecuted on default Agent 2", fillcolor="lightskyblue"]
          job_2 [label="Job 2\nexecuted on default Agent 2", fillcolor="lightskyblue"]
          job_3 [label="Job 3\nexecuted on default Agent 2", fillcolor="lightskyblue"]
          
          order_1 -> file_order_source
          process_class_1 -> file_order_source
          process_class_1 -> file_order_sink
          process_class_2 -> job_chain_1
          job_chain_1 -> file_order_source -> job_1 -> job_2 -> job_3 -> file_order_sink
          

          Description

          • The job chain is assigned:
            • An Agent for File Watching with a file order source and file order sink.
              • This Agent will watch for incoming files and will move or remove the file with the file order sink.
            • A default Agent for executing the jobs in the job chain.

          Example

          • Download job_chain_default_file_watching_agent.zip
            • Extract the archive to your live folder, a directory job_chain_default_file_watching_agent will be created.
          • The 01_ProcessClass_Default_Agent process class is configured for an Agent on a host Andreas-MacBook-Pro.local and port 4445. Adjust this class to point to your default Agent installation.
          • The 01_ProcessClass_FileWatching_Agent process class has been configured for an Agent on localhost and port 4445. Adjust this class to point to your File Watching Agent installation.
          • Adjust the folders that are used for file watching:
            • The folder that is watched for incoming files: /tmp/jobscheduler/file/incoming/agent_file_watching
            • The folder that files are moved to on success: /tmp/jobscheduler/file/success
            • The folder that files are moved to on error: /tmp/jobscheduler/file/error

          Jobs in a Job Chain are assigned different Agents Agents

           

          Flowchart
          order_1 [shape="ellipse",label="Order 1",fillcolor="violet"] 
          process_class_1 [label="Agent 1\nassigned to Process Class 1",fillcolor="white", group="1"] 
          process_class_2 [label="Agent 2\nassigned to Process Class 2",fillcolor="white", group="2"] 
          process_class_3 [label="Agent 3\nassigned to Process Class 3",fillcolor="white", group="3"] 
          job_chain_1 [label="Job Chain 1",fillcolor="orange"]
          
          job_1 [label="Job 1\nexecuted on Agent 1", fillcolor="lightskyblue", group="1"]
          job_2 [label="Job 2\nexecuted on Agent 2", fillcolor="lightskyblue", group="2"]
          job_3 [label="Job 3\nexecuted on Agent 13", fillcolor="lightskyblue", group="3"]
          
          order_1 -> job_chain_1
          process_class_1 -> job_1
          process_class_2 -> job_2
          process_class_13 -> job_3
          job_chain_1 -> job_1 -> job_2 -> job_3
          

           

          Description

          • The job chain is not assigned an Agent.
          • The Agents are assigned directly to jobs.
            • Jobs are executed by the assigned Agent independently of their use in other job chains.
            • Each job is executed by a different Agent (Cross-Platform Scheduling).

          Example

          • Download job_chain_different_agents.zip
            • Extract the archive to your live folder, a directory job_chain_different_agents will be created.
          • The 01_ProcessClass_Agent_1 process class has been configured for an Agent on the localhost and port 4445. Adjust this process class to point to your first Agent installation.
          • The 01_ProcessClass_Agent_2 process class has been configured for an Agent on the Andreas-MacBook-Pro.local and port 4445. Adjust this process class to point to your second Agent installation.
          • The 01_ProcessClass_Agent_3 process class has been configured for an Agent on the localhost and port 4445. Adjust this process class to point to your third Agent installation.

          References

          Change Management References

          Jira
          serverSOS JIRA
          columnstype,key,issuelinks,fixversions,status,priority,summary,updated
          maximumIssues20
          jqlQuerylabels in (process-class)
          serverId6dc67751-9d67-34cd-985b-194a8cdc9602

          Documentation

          See also

          ...