处于等待状态的工作流会消耗系统资源,因为该工作流会不断轮询能向其提供响应的对象。如果您知道某个工作流可能需要很长时间才能收到所需的响应,您可以向该工作流添加长时间运行的工作流元素。

每个正在运行的工作流都会消耗一个系统线程。当工作流遇到长时间运行的工作流元素时,长时间运行的工作流元素会将工作流设置为被动状态。然后,长时间运行的工作流元素会将工作流信息传递给负责向系统轮询服务器中所有正在运行的长时间运行工作流元素的单个线程。长时间运行的工作流元素会在设定的时间内保持被动状态,由长时间运行的工作流线程代其轮询系统,而不是每个长时间运行的工作流元素都不断尝试从系统检索信息。

您可以通过以下任一方法设置等待时间:

  • 设置一个封装到 Date 对象的定时器,它会挂起工作流并直到特定时间和日期为止。您可以在架构中添加等待定时器元素,实现基于计时器的长时间运行的工作流元素。

  • 定义一个封装到 Trigger 对象的触发器事件,它会在触发器事件发生后重新启动工作流。您可以在架构中添加等待事件用户交互元素,实现基于触发器的长时间运行的工作流元素。