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

关于此任务

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

先决条件

  • 创建工作流。

  • 在工作流编辑器中打开要编辑的工作流。

  • 向工作流架构添加一些元素。

  • 定义封装在 Trigger 对象中的触发器事件。

过程

  1. 等待事件元素从通用菜单拖放到工作流架构中要挂起工作流运行的位置。

    用于声明触发器的可编辑脚本任务必须紧靠在等待事件元素之前。

  2. 单击工作流架构中等待事件元素的编辑图标 (编辑图标)。
  3. 信息属性选项卡中输入等待的原因说明。
  4. 单击属性特性选项卡。

    此时 trigger.ref 参数会显示在属性列表中。

  5. 单击 trigger.ref 参数的未设置链接将参数绑定到适当的 Trigger 对象。

    此时系统会打开等待事件选择对话框,显示可能绑定的参数列表。

  6. 从建议列表中选择预定义的 Trigger 对象。

    Trigger 对象表示由另一工作流或工作流元素定义的触发器事件。

  7. 异常属性选项卡中定义任何异常行为。
  8. 单击关闭
  9. 单击工作流编辑器底部的保存

结果

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

下一步做什么

您可以运行工作流。