Versions Compared

Key

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

...

  • Order 1 in Workflow 1 executes Job 1a and Job 1b, then posts a Notice 1 and continues with Job 1c. Posting a notice is a non-blocking operation, therefore Order 1 in Workflow 1 will complete without waiting for some other workflow Order 2  to pick up the notice and to execute Workflow 2.
  • Order 2 in Workflow 2 expects Notice 1 with its first instruction. This workflow will not start unless Notice 1 has been posted by Workflow 1.

Notice

  • A Notice is considered an event that the ExpectNotice Instruction is waiting for. One or more corresponding PostNotice Instructions create the Notice from the same or from different workflows.
  • Both PostNotice and ExpectNotice Instructions reference a common Notice Board identified by its name. The Notice Board implements expressions for the PostNotice Instruction and for the ExpectNotice Instruction to identify a common Notice ID. The Notice ID typically is identified from a common part of the Order ID, for example from the daily plan date.
    • Example
      • An Order ID #2021-07-24#T7142453954-myOrder1 is running in a workflow and meets a PostNotice Instruction. The Notice Board referenced by this instruction includes an expression for the posting order to create a Notice ID based on the daily plan date included with the Order ID. The expression extracts the date from the Order ID, i.e. 2021-27-24, and makes this date the Notice ID.
      • An expecting Order ID #2021-07-24#T7142454683-myOrder2 meets an ExpectNotice Instruction in its workflow. The instruction similarly applies the expression from the referenced Notice Board to create a Notice ID. In most situations the rule what to extract from an Order ID is the same for the posting order and for the expecting order.
        • If both instructions identify the same Notice ID, i.e. the daily plan date 2021-27-24, then the expectation is met and the order proceeds with the next step following the ExpectNotice Instruction.
        • If the expectation is not met, for example if the Notice has not yet been created by a posting order or if the daily plan date of the Notice ID is not the same for the posting order and for the expecting order then the expecting order will wait until the Notice becomes available.
    • If no posting order exists at the point in time when an expecting order meets an ExpectNotice Instruction then the expecting order continues and ignores the instruction.
      • This behavior boils down to the fact that Notices are intended for synchronization. If there is no posting order that could create creates the Notice, e.g. due to calendar restrictions to specific days, then expecting orders continue.
      • Only an existing, posting order that did not yet arrive with its PostNotice Instruction, e.g. being in a SCHEDULED state, can make an expecting order wait with the ExpectNotice Instruction.
  • Notices can be assigned a lifetime that starts after being posted.
    • If an expecting order starts before expiration of a notice's lifetime then this order can continue.
    • If an expecting order starts after expiration of a notice's lifetime then this order will wait for the next notice or will start immediately if there is no further posting order in place.
  • Any number of workflows can implement PostNotice Instructions and ExpectNotice Instructions referencing the same or different Notice Boards.

Configuration

Notice Boards are available from the Configuration View:

Image Added


Explanation:

  • The "Notice ID for the posting order" specifies an expression that extracts the daily plan date from the Order ID of the posting order. This creates a Notice ID for matching daily plan dates.
  • The "Notice ID for the expecting order" applies the same expression. As a result both posting order and expecting order have to match the same daily plan date for synchronization.
  • The "End of Life of Notice" specifies the lifetime for which a posted notice is available and that is counted when the notice is posted.

Use Cases

Static Dependency of Workflows

...