Introduction

JS7 - Workflows implement jobs and dependencies for workload automation. Orders are triggers that cause the execution of workflows.

  • The Configuration View provides a graphical design view from the JS7 - Workflow Editor.
  • The Workflows View provides a tactical execution view that can be used to monitor the processing of orders with workflows in near real-time and to perform interventions if required.
  • The Dashboard View provides a summary of current order states and navigation to the Orders Overview, which allows bulk operations. For details see JS7 - Orders - Bulk Operations.

Orders can be cancelled, be suspended to prevent execution of instructions such as jobs and they can be resumed.

Status Operations on Orders

Status operations are available individually per order and as bulk operations when a number of orders are selected in the Workflows view.

The following sample workflow is available which implements a number of jobs and passes variables between jobs:

Cancel Order

Orders in PENDING, SCHEDULED, IN PROGRESS, RUNNING, SUSPENDED, PROMPTING, WAITING, BLOCKED and FAILED states can be cancelled: for details see the JS7 - Order State Transitions article:

  • Cancel: This operation allows the order to complete the current instruction, for example, executing a job, and after completion of the instruction the order will leave the workflow with a failed history outcome.
  • Cancel/Kill Task: The operation kills processing of the current instruction, for example a running task for a job, and makes the order leave the workflow.


Explanation:

  • Cancelling an order is performed as an asynchronous operation which includes the JOC Cockpit, Controller and Agent.
    • In a first step the order is displayed with a green/red bullet icon indicating that the order still is running and that the cancel operation is in progress.
      • If the Controller or Agent cannot be accessed then the display of the order will remain unchanged.
      • Note that "inaccessible" can mean that the network connection has been lost and that the Agent in fact is up and running. In this situation the order will continue to be processed by the Agent until the order cancel operation is successfully transmitted to the Agent.

Suspend Order

Orders in PENDING, SCHEDULED, IN PROGRESS, RUNNING, PROMPTING, WAITING, BLOCKED states can be suspended:

  • Suspend: This operation allows the order to complete the current instruction, for example, executing a job, and after completion of the instruction the order is put to the SUSPENDED state.
  • Suspend/Kill Task: The operation kills processing of the current instruction, for example, a running task, and puts the order in the SUSPENDED state.


Explanation:

  • Suspending an order is performed as an asynchronous operation which includes the JOC Cockpit, Controller and Agent.
    • In a first step the order is displayed with a green/orange bullet icon, indicating that the order still is running and that the suspend operation is in progress.
      • If the Controller or Agent cannot be accessible then the display of the order will remain unchanged.
      • Note that "inaccessible" can mean that the network connection has been lost and that the Agent in fact is up and running. In this situation the order will continue to be processed by the Agent until the suspend operation is successfully transmitted to the Agent.
    • In a second step the order will be displayed with an orange bullet icon indicating that the order has been suspended.

Resume Order

FAILED and SUSPENDED orders can be resumed from the Workflows view as follows:

  • The order can be resumed from its current position in the workflow.
  • The order can be resumed from a  previous or later position in the workflow that matches the same instruction level. 
  • Order variables that are dynamically created and updated in a workflow can be modified.
  • Consider that for failed orders the History status remains In Progress as long as the order did not complete the workflow.

Resuming an Order from a specific Job or Instruction

If the Resume operation is used for an order, then a tabular view of the workflow will be displayed:

  • Users can click the Submit button to resume the order from its current position.
  • Users can resume the order from a different position before or after the current position: clicking the order with the mouse and moving the order to the desired position makes the order resume from this position.
    • This operation is available for instructions located at the same level in a workflow.
    • This operation is denied for nested instructions:
      • For example, an order can be resumed from a position inside a JS7 - Fork-Join Instruction branch. Similarly the order can be resumed from the end of the branch. However, an order cannot be resumed from a different branch or outside of the Fork-Join Instruction.
      • For example, an order can be resumed from other positions inside a JS7 - Lock Instruction. However, it cannot be resumed outside of the Lock Instruction.


Dragging & dropping an order with the mouse to different position in the workflow looks like this:

Resuming an Order and modifying Workflow Variables

The above example shows a workflow variable that can be modified:

  • Variables are displayed with values that are historically specific before starting the failed job.
  • Variables with modifiable values can be selected from a checkbox:
    • If a variable is selected then its current value will be used when resuming from the selected position in the workflow.
      • Consider that this will overwrite the historic value of the variable for the targeted workflow position.
      • Users are free to modify the values of variables.
    • If a variable is not selected then it will use the historic value associated with the position in the workflow from which the order will be continued.
  • Variables with constant values cannot be modified. This includes order variables that are added when planning the order and this includes variables that are declared with a workflow. Other variables that are created dynamically during workflow execution can be modified.

Resuming an Order and specifying the Cycle End Time

If an order is suspended or failed in a JS7 - Cycle Instruction then users can modify the cycle end time:

  • A period shorter than configured with the Cycle Instruction can be specified.
    • Periods are specified by relative dates, for example 1h (1 hour), 10m (10 minutes), 01:30:00 (1 hour, 30 minutes).
    • Specifying a value 0 for the period will cause the order to continue from the resumed position in the workflow, to execute subsequent jobs and to leave the cycle next time it meets the Cycle Instruction.
  • A period that is specified longer than configured with the Cycle Instruction will be ignored


Let Run Order

Orders in a PENDING, SCHEDULED or WAITING state for a JS7 - Cycle Instruction or JS7 - Retry Instruction can be forced to run immediately from the Workflows view as follows:

  • Orders will be running from their current position in the workflow.
  • Orders in the WAITING state ignore the wait time for a next cycle or a next retry and will run immediately.
  • Orders in the PENDING or SCHEDULED state will start immediately.

FEATURE AVAILABILITY STARTING FROM RELEASE 2.7.0

JS-2111 - Getting issue details... STATUS

JOC-1763 - Getting issue details... STATUS


Bulk Operations

The Workflows view displays a maximum of three orders for each workflow. The overall number of orders available for the workflow is displayed by the grey order indicator:


When clicking the order indicator, a popup window with the list of orders will be displayed as follows:


Explanation:

  • Clicking the Order ID of an order will cause the order log to be displayed.
  • Selecting one or more orders will allow the cancel, suspend or resume bulk operations to be carried out for the selected orders, according to the order state.
  • When an order is resumed from a bulk operation then:
    • the position from which the order will be resumed will always be the current position,
    • the order variables cannot be modified.

Further Resources



  • No labels