Simple Synchronization Sequence

This advanced activity handles situations in which your workflows continuously encounter delays or errors due to several workflows (or multiple instances of the same workflow) trying to access the same resource at the same time. By placing the activities that frequently run into conflicts inside Simple Synchronization Sequence activities, you can create a context in which Simple Synchronization Sequence activities with the same ID will actively wait for each other. Because they actively wait for each other, these activities can run in quick succession without reporting a warning and delaying before trying again or without reporting an error and terminating the workflow. This activity should only be used if resource conflicts are hampering the performance of your workflows.

Example: When an entry is added to the repository, multiple workflows act on it at once to rename it, give it metadata, and attach supplemental pages. When the Rename Entry activity in one workflow and the Assign Field Values activity in another workflow try to act on the new entry at the same time, one of them will act on the entry and the other will record an entry locked error which pauses the workflow for five minutes before it tries to access the entry again. By putting both the Rename Entry activity and the Assign Field Values activity in Simple Synchronization Sequence activities that have been given the same ID, this bottleneck can be avoided.

To add this activity to a workflow definition

To configure this activity

  1. Select the activity in the Designer Pane to configure the following property boxes in the Properties Pane.
    • Advanced Properties

      Click the Advanced button at the top of the Properties Pane to view and configure advanced properties.

  2. Drag and drop activities into this activity.
  3. Ensure all the Simple Synchronization Sequence activities you want to synch have the same synchronization ID.

Synchronization Options

The Synchronization Options property box in the Simple Synchronization Sequence activity lets you specify a synchronization ID for your sequence. Sequences with the same synchronization ID can run in quick succession.

To configure Synchronization Options

  1. Add the Simple Synchronization Sequence activity to your workflow definition by dragging it from the Toolbox Pane and dropping it in the Designer Pane.
  2. Select the activity in the Designer Pane.
  3. Under Synchronization Options in the Properties Pane, give the sequence an ID. Click the Token button (right arrow) to use tokens to make dynamic Synchronization IDs. Sequences with the same ID will actively wait for each other to finish. It is a best practice to select a Synchronization ID that represents the resource that is shared between the activities in your Simple Synchronization Sequence activities.
  4. Example: If you want to prevent entry locked warnings (and delays) when two workflows act on the same entry, then the Entry ID token is a logical Synchronization ID.

  5. Select This workflow definition to have this activity only synchronize with Simple Synchronization Sequence activities in instances of the workflow definition you are configuring. Select Any workflow definition if you want this activity to synchronize with Simple Synchronization Sequence activities in any instance of any workflow definition.
  6. Example: A workflow runs on different documents in the same folder. At one point, the workflow adds a field value to the folder the documents are in. Because multiple instances of the workflow may be running at the same time on different documents, they could run into delays when trying to update the folder's metadata. In this situation, place a Simple Synchronization Sequence activity around the Assign Field Values activity that updates the folder, and set its scope to This workflow definition.

  7. Next to Wait for up to, configure how long this sequence will wait for other sequences to finish before the contained activities run. If the other Simple Synchronization Sequences with the same ID do not finish in the given time frame, then the activities inside the sequence will run the risk of encountering an entry locked conflict or similar delay.
  8. Example: You have two Simple Synchronization Sequence activities with the same ID. The activities have been configured to wait for up to five minutes for the other sequence to finish. If the first sequence finishes at any point during that five minute window, the waiting sequence will immediately run. (E.g., if it only takes the first sequence 30 seconds to run, the second sequence will run after 30 seconds and not wait the full five minutes.) If the first sequence does not finish running in five minutes, the second sequence will try to run anyway. At this point, the activities in the sequence will probably encounter an entry locked (or similar) error and the activity will retry based on the time frame specified in the relevant task error handler.

Reporting Options

This advanced property box lets you specify what information about the Simple Synchronization Sequence activity will be recorded in the Messages tab of the instance details.

To configure Reporting Options

  1. Add the Simple Synchronization Sequence activity to your workflow definition by dragging it from the Toolbox Pane and dropping it in the Designer Pane.
  2. Select the activity in the Designer Pane.
  3. Click the Advanced button at the top of the Properties Pane.
  4. Under Reporting Options, select or clear the following options.
    • Report a warning if the Synchronization ID is blank: Select this option to have a warning reported if the token used for the Synchronization ID (in the Synchronization Options property box) is blank when the workflow runs.
    • Report a message if the timeout is reached: Select this option to have an informational message reported if the wait time for the sequence exceeds the timeout period specified in the Synchronization Options property.