Versions Compared

Key

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

...

  • The StickySubagent Instruction can be used to execute a number of jobs with the same Subagent of a JS7 - Agent Cluster. Use of Agent Clusters is subject to the terms for clustering with the JS7 - License.
  • Technically the block instruction checks the first available Subagent of a Subagent Cluster. This Subagent will be used for subsequent jobs within the block instruction.
    • The underlying use case is a the situation when jobs in a workflow create temporary files that should be picked up by successor jobs. If successor jobs were are executed with different Subagents on different servers then they might not find files created by predecessor jobs.
    • If the Subagent used for the first job of the StickySubagent Instructions becomes Instruction becomes unavailable for subsequent jobs then the order will be put to the BLOCKED state. Users can decide to cancel the order or to make the Subagent available later on.
    • Jobs within a StickySubagent Instruction block can be assigned the predetermined Subagent or they can be assigned Standalone Agents and Subagent Clusters unrelated to the StickySubagent Instruction.

...

Download example (upload .json): pdfAgentClusterStickySubagentpdfAgentClusterStickySubagentFork.workflow.json

Assigning the Subagent Cluster to the StickySubagent Instruction

...

  • The Subagent Cluster indicating the Subagents on which to execute jobs in parallel is dynamically specified from a workflow variable.
  • The StickySubagent Instruction is combined with a JS7 - Fork-Join Instruction that allows parallel execution of jobs with each Subagentthe same or with other Subagents.


Explanation:

  • The subagent_cluster workflow variable is assigned a default value indicating the active-active-all-agents Subagent Cluster.
    • The default value can be overwritten by an order that specifies this variable.

...

  • The StickySubagent Instruction is assigned a Subagent Expression.
    • This includes to select an Agent Cluster.
    • This includes to specify an expression, for this example the workflow variable $subagent_cluster, that carries the name of the Subagent Cluster.
  • The StickySubagent Instruction includes a number of jobs that should be executed on the same Subagent of the given Subagent Cluster.

Delimitation

  • The StickySubagent Instruction requires a single job or other instruction to be used as the first node in the block instruction.
  • The JS7 - Fork-Join Instruction cannot be used as the first node within the StickySubagent Instruction. It can be used with any later node.

Error Handling

The StickySubagent Instruction selects the first available Subagent of the given Subagent Cluster. Subagents not available at the point in time of execution of the instruction are not considered.

...