觸發器物件會監視外掛程式定義的事件觸發器。例如,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 物件作為其輸出參數,等待事件元素可繫結至該參數。

下一步

您必須在以觸發器為基礎之長時間執行的工作流程中,將此觸發器事件繫結至等待事件元素。