如果您知道某个工作流在运行期间必须等待来自外部源的响应,但又不知道会等待多长时间,则可将其实现为基于触发器的长时间运行工作流。基于触发器的长时间运行工作流会等待所定义的触发器事件发生,然后再恢复运行。

使用等待事件元素将工作流实现为基于触发器的长时间运行工作流。基于触发器的长时间运行工作流在到达等待事件元素时,会停止运行并进入被动等待状态,直到收到来自触发器的消息为止。在等待期间,被动工作流不会消耗线程,相反,长时间运行的工作流会将工作流信息传递到负责监视服务器中所有长时间运行工作流的单个线程。

前提条件

  • 创建工作流。
  • 在工作流编辑器中打开要编辑的工作流。
  • 向工作流架构添加一些元素。
  • 定义封装在 Trigger 对象中的触发器事件。

过程

  1. 等待事件元素从左侧窗格中的通用菜单拖放到工作流架构中要挂起工作流运行的位置。
    用于声明触发器的可编辑脚本任务必须直接在 等待事件元素之前。
  2. 单击等待事件元素。
  3. 在右侧窗格的详细信息属性选项卡中,输入等待事件的名称和说明。
  4. 单击输入选项卡。
    此时 trigger.ref 参数会显示在输入列表中。
  5. 单击选择变量文本框,将输入参数绑定到相应的 Trigger 对象。
    Trigger 对象表示由另一工作流或工作流元素定义的触发器事件。
  6. 异常处理选项卡中定义任何异常行为。
  7. 单击保存并确认您的选择。

结果

您即定义了一个可挂起基于触发器的长时间运行工作流并等待特定触发器事件发生后再重新启动的工作流元素。

后续步骤

您可以运行工作流。