触发器对象会监视插件所定义的事件触发器。例如,vCenter Server 插件将这些事件定义为 Task 对象。当任务结束时,触发器会向基于等待触发器的长时间运行工作流元素发送一条消息,重新启动该工作流。

开始之前

  • 创建工作流。

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

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

  • 在工作流中,将 VC:Task 对象声明为属性或输入参数,例如工作流中的 VC:Task 对象或会启动或克隆虚拟机的工作流元素。

关于此任务

基于触发器的长时间运行工作流所等待的耗时事件必须返回一个 VC:Task 对象。例如,用来启动虚拟机的 startVM 操作会返回一个 VC:Task 对象,以便工作流中的后续元素可监视其进度。基于触发器的长时间运行工作流的触发器事件需将此 VC:Task 对象用作输入参数。

您在可编辑脚本元素的 JavaScript 函数中创建 Trigger 对象。此可编辑脚本任务元素可属于等待触发器事件的基于触发器的长时间运行工作流。或者,可属于另一个为基于触发器的长时间运行工作流提供输入参数的工作流。触发器函数必须实施 Orchestrator API 中的 createEndOfTaskTrigger() 方法。

重要:

您必须为所有触发器定义超时时段,否则工作流会无限期等待。

过程

  1. 可编辑脚本任务通用菜单拖放到工作流的架构中。

    可编辑脚本任务之前的任一元素必须生成一个 VC:Task 对象作为其输出参数。

  2. 单击工作流架构中可编辑脚本任务元素的编辑图标 (编辑图标)。
  3. 信息属性选项卡中,为触发器输入名称和说明。
  4. 单击输入属性选项卡。
  5. 单击绑定到工作流参数/属性图标 (绑定到工作流参数或属性)。

    此时系统会打开输入参数选择对话框。

  6. 搜索或创建一个类型为 VC:Task 的输入参数。

    VC:Task 对象表示由另一工作流或元素启动的耗时事件。

  7. (可选) : 搜索或创建一个类型为数字的输入参数,以秒为单位定义超时时段。
  8. 单击输出属性选项卡。
  9. 单击绑定到工作流参数/属性图标 (绑定到工作流参数或属性)。

    此时系统会打开输出参数选择对话框。

  10. 创建包含以下属性的输出参数。
    1. 创建值为 trigger 的名称属性。
    2. 创建值为 Trigger 的类型属性。
    3. 单击创建同名的属性来创建属性。
    4. 将值保留为未设置
  11. 异常属性选项卡中定义任何异常行为。
  12. 定义一个可在脚本选项卡中生成 Trigger 对象的函数。

    例如,可以实现以下 JavaScript 函数来创建 Trigger 对象。

    trigger = task.createEndOfTaskTrigger(timeout);

    createEndOfTaskTrigger() 方法会返回一个 Trigger 对象,用于监视名为 taskVC:Task 对象。

  13. 单击关闭
  14. 单击工作流编辑器底部的保存

结果

您即定义了一个可为基于触发器的长时间运行工作流创建触发器事件的工作流元素。触发器元素会生成一个 Trigger 对象作为其输出参数,等待事件元素可绑定到该输出参数。

下一步做什么

您必须将此触发器事件绑定到基于触发器的长时间运行工作流中的等待事件元素。