If you know that a workflow has to wait for a response from an outside source during its run, but do not know how long that wait is, you can implement it as a trigger-based long-running workflow. A trigger-based long-running workflow waits for a defined trigger event to occur before resuming.
You implement a workflow as a trigger-based long-running workflow by using the Waiting event element. When the trigger-based long-running workflow arrives at the Waiting event element, it stops its run and waits in a passive state until it receives a message from the trigger. During the waiting period, the passive workflow does not consume a thread, but rather the long-running workflow element passes the workflow information to the single thread that monitors all long-running workflows in the server.
Prerequisites
- Create a workflow.
- Open the workflow for editing in the workflow editor.
- Add some elements to the workflow schema.
- Define a trigger event that is encapsulated in a Trigger object.
Procedure
Results
You defined a workflow element that suspends a trigger-based long-running workflow, that waits for a specific trigger event before restarting.
What to do next
You can run a workflow.