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

Let Run Order from Workflows View

The functionality is available from the Workflows view like this:

Let Run Order from Daily Plan View

When used with the JS7 - Daily Plan view the operation brings the following behavior:

  • The order remains assigned its original Daily Plan date though it is executed at an earlier date/time. This means that the order will not consider Notices from JS7 - Notice Boards of an earlier Daily Plan date but Notices of its original Daily Plan date if the “let run” operation causes the order to start before begin of the assigned Daily Plan.
  • Users who wish to modify an order's assignment to the Daily Plan and to Notices matching the order's effective start date can use the operation "Modify start time" with option "Now" from the Daily Plan view.
  • The "let run" operation is available for non-cyclic orders in the submitted state. For bulk operations users have to apply the One-time order

FEATURE AVAILABILITY STARTING FROM RELEASE 2.7.1

JOC-1779 - Getting issue details... STATUS


Transfer Orders

The operation is available with the Workflows view and can be applied in a situation when users find more than one version of the same workflow:

  • When modifying and deploying workflows then a new version of the workflow is created.
  • Orders that did not yet start and that hold the PENDING or SCHEDULED state can make use of the new workflow version.
  • Orders that have started and that hold any other state will remain with the previous workflow version. The reason being that changes to the workflow can disrupt orders that have been added to a previous version of the workflow. For example, if certain jobs or instructions have been added before the order's current position in the workflow, then this will break execution of an exiting order.

The operation to transfer orders is available for previous workflow versions and includes to transfer all orders to the latest version of the workflow.


Explanation:

  • The previous version of the workflow holds 2 orders in the SCHEDULED and in the SUSPENDED state. This version of the workflow will not accept new orders but will continue to run orders previously assigned.
  • The latest version of the workflow currently is not assigned any orders.

The previous version of the workflow offers the "Transfer Orders to latest Version" action menu item like this:


As a result of the transfer operation users find all orders assigned the latest workflow version. The previous workflow version disappears as it is no longer needed with all orders being transferred.


Transfer is possible within limits of the order state:

  • If orders are in the PENDING, SCHEDULED, FAILED, SUSPENDED, PROMPTING state then this will work.
  • If orders are in the IN PROGRESS, RUNNING or BLOCKED state then this cannot work.  
  • If orders are in the WAITING state then it depends on what orders are waiting for:

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