Say you have four sessions you want to run in a workflow. You want Q1_session and Q2_session to run concurrently to save time. You also want to run Q3_session after Q1_session completes. You want to run Q4_session only when Q1_session, Q2_session, and Q3_session complete.
The following workflow shows how to accomplish this using the Event-Raise and Event-Wait tasks:
To configure the workflow, complete the following steps:
Link Q1_session and Q2_session concurrently.
Add Q3_session after Q1_session.
Declare an event called Q1Q3_Complete in the Events tab of the workflow properties.
In the workspace, add an Event-Raise task after Q3_session.
Specify the Q1Q3_Complete event in the Event-Raise task properties. This allows the Event-Raise task to trigger the event when Q1_session and Q3_session complete.
Add an Event-Wait task after Q2_session.
Specify the Q1Q3_Complete event for the Event-Wait task.
Add Q4_session after the Event-Wait task. When the Integration Service processes the Event-Wait task, it waits until the Event-Raise task triggers Q1Q3_Complete before it runs Q4_session.
The Integration Service runs the workflow in the following order:
The Integration Service runs Q1_session and Q2_session concurrently.
When Q1_session completes, the Integration Service runs Q3_session.
The Integration Service finishes executing Q2_session.
The Event-Wait task waits for the Event-Raise task to trigger the event.
The Integration Service completes Q3_session.
The Event-Raise task triggers the event, Q1Q3_complete.
The Integration Service runs Q4_session because the event, Q1Q3_Complete, has been triggered.