觸發器物件會監視外掛程式定義的事件觸發器。例如,vCenter Server 外掛程式會將這些事件定義為 Task 物件。工作結束時,觸發器會將訊息傳送至以等待觸發器為基礎之長時間執行的工作流程元素,以重新啟動工作流程。

以觸發器為基礎之長時間執行的工作流程所等待的耗時事件,必須傳回 VC:Task 物件。例如,啟動虛擬機器的 startVM 動作會傳回 VC:Task 物件,讓工作流程中的後續元素監視其進度。以觸發器為基礎之長時間執行工作流程的觸發器事件,需要此 VC:Task 物件作為輸入參數。

您在可編寫指令碼的工作元素中以 JavaScript 函數建立 Trigger 物件。此可編寫指令碼的工作元素屬於會等待觸發器事件的以觸發器為基礎之長時間執行的工作流程。或者,屬於將輸入參數提供給以觸發器為基礎之長時間執行的工作流程的不同工作流程。觸發器函數必須從 vRealize Orchestrator API 實作 createEndOfTaskTrigger() 方法。

重要: 您必須為所有觸發器定義逾時時間,否則工作流程會無限期等待。

必要條件

    • 建立工作流程。
    • 在工作流程編輯器中開啟工作流程以進行編輯。
    • 新增一些元素至工作流程配置。
  • 在工作流程中,將 VC:Task 物件宣告為變數或輸入參數,例如一或多個啟動或複製虛擬機器之工作流程元素中的 VC:Task 物件。

程序

  1. 可編寫指令碼的工作元素從左窗格的一般功能表中拖曳至工作流程架構。
    可編寫指令碼的工作之前的其中一個元素必須產生 VC:Task 物件作為其輸出參數。
  2. 按一下可編寫指令碼的工作元素。
  3. 在右窗格的詳細資料內容索引標籤中,輸入觸發器的名稱和說明。
  4. 按一下輸入/輸出索引標籤。
  5. 選取或建立 VC:Task 類型的輸入變數。
    VC:Task 物件代表另一個工作流程或元素啟動的耗時事件。
  6. (選擇性) 選取或建立數字類型的輸入參數,以定義逾時期間秒數。
  7. 建立一個內容如下的輸出參數。
    1. 建立值為 trigger 的「名稱」內容。
    2. 建立值為 Trigger 的「類型」內容。
    3. 按一下建立
  8. 例外狀況處理功能表中定義任何例外狀況行為。
  9. 指令碼索引標籤上,定義用來產生 Trigger 物件的函數。

    例如,您可以實作下列 JavaScript 函數來建立 Trigger 物件。

    trigger = task.createEndOfTaskTrigger(timeout);

    createEndOfTaskTrigger() 方法會傳回 Trigger 物件以監視名為 taskVC:Task 物件。

  10. 按一下儲存,並確認選取項目。

結果

您定義了一個工作流程元素,此元素可為以觸發器為基礎之長時間執行的工作流程建立觸發器事件。觸發器元素會產生 Trigger 物件作為其輸出參數,等待事件元素可繫結至該參數。

後續步驟

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