View a markdown version of this page

任務的勾點、事件和整合點 - 截止日期雲端

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

任務的勾點、事件和整合點

Deadline Cloud 提供數個整合點,您可以在其中在任務周圍執行自己的邏輯。整合點是任務生命週期中的位置,其中 Deadline Cloud 會對您設定的服務執行自訂程式碼或手動控制,例如準備工作者的指令碼或對任務事件做出反應的規則。您可以使用整合點來調整生產管道的截止日期雲端:安裝軟體、設定環境變數、驗證或變更任務、處理輸出或觸發下游自動化。

整合點在三個問題上有所不同:

  • 程式碼的執行位置 – 在您的工作站、工作者或 AWS 雲端。

  • 執行時 – 提交時、工作前後,或回應事件時。

  • 設定的位置 – 在工作站設定、任務套件、佇列或機群屬性,或您自己的 AWS 帳戶中。

下圖顯示每個整合點在任務生命週期期間執行的位置。從工作站上的提交、透過工作者執行,到您 AWS 帳戶中的事件驅動型自動化的控制流程。

  • 工作站 – 提交者掛鉤和主機組態指令碼執行一次。

  • 工作者 – 佇列、任務和步驟環境使用工作階段範圍的進入和退出動作。任務執行會執行您的工作。相依步驟會在任務完成後執行。

  • AWS 帳戶 – EventBridge 事件和 CloudWatch 指標和警示會以非同步方式回應狀態變更。

跨工作站、工作者和雲端的任務生命週期整合點。

下表摘要說明整合點。根據上述問題的答案選擇一個。表格後面的各節說明每個選項,並連結至詳細說明。

整合點 在 上執行 在 中設定 執行時 使用 進行

提交者掛鉤

工作站

工作站組態 (所有任務) 或任務套件

在提交期間,在建立任務之前

注入或覆寫環境變數、驗證或重寫任務套件、在提交時與生產追蹤軟體同步

主機組態指令碼

工作程序

機群屬性 (服務受管機群)

每個工作者在啟動時一次,具有管理員權限

網路組態,安裝需要提高權限的軟體

佇列環境

工作程序

佇列屬性

當工作階段進入或退出時,佇列中的每個任務

專案層級組態:非管理員軟體安裝、共用環境變數、授權或協助程式設定

任務環境

工作程序

任務套件或任務範本

任務前後

每個任務的設定和縮減

步驟環境

工作程序

任務套件或步驟範本

步驟前後

每個步驟的設定和縮減

相依步驟

工作程序

任務套件或步驟範本 (dependsOn)

在相同任務中較早的步驟成功之後

在本機需要輸出檔案的轉譯後工作,例如將影格編碼為電影或產生縮圖

Amazon EventBridge (EventBridge) 事件

AWS 雲端

AWS 您的帳戶 (規則和目標)

任務、步驟、任務、機群或預算狀態變更

生產追蹤、通知、雲端自動化、跨佇列鏈結任務

Amazon CloudWatch (CloudWatch) 指標和警示

AWS 雲端

AWS 您的帳戶

針對閾值持續進行

沒有事件的條件,例如授權可用性 (LicensesInUse) 和機群容量

在工作站上執行自訂邏輯

在任務到達服務之前,提交者掛鉤會在提交期間執行。您可以為每個工作站設定它們,它們適用於從該工作站提交的所有任務,或在任務套件內,它們適用於該套件。提交者掛鉤可以在提交流程中的不同點變更套件。使用它們在提交時插入環境變數、驗證提交,或與生產追蹤軟體同步。

如需詳細資訊,請參閱提交掛鉤

在工作者上執行自訂邏輯

下列整合點會在轉譯主機上執行。它們從最寬的範圍巢狀化為最窄的範圍:

  • 主機組態指令碼會在工作者啟動時執行一次,並具有管理員權限。主機組態指令碼專屬於服務受管機群 (SMFs)。在客戶受管機群 (CMF) 上,您可以改為製作自己的映像。使用主機組態指令碼進行網路設定和管理員層級軟體安裝。

  • 佇列、任務和步驟環境各定義 onEnteronExit動作。動作會在工作者的工作階段進入範圍時執行,並在工作階段結束範圍時以相反順序執行。佇列環境是專案層級組態的理想位置,適用於佇列中的每個任務,例如共用軟體、環境變數,以及授權或協助程式設定。任務和步驟環境會將範圍縮小為單一任務或步驟。

  • 相依步驟會新增第二個步驟,使用 dependsOn 來相依於轉譯步驟。例如,您可以轉譯和編碼電影,或轉譯和產生縮圖。步驟會保留在相同的任務中,因此輸出已經是本機的。相依步驟需要自訂提交者或手寫任務套件。Job-to-job相依性不是原生的。若要鏈結個別任務,請使用雲端中的事件,如下節所述。

注意

環境是工作階段範圍,而非每個任務。onExit 動作會在工作階段縮減時執行,而不是在每個任務之後。如果您要遷移截止日期 10 任務後回呼,請使用相依步驟,而非環境onExit動作。

如需詳細資訊,請參閱下列內容:

回應雲端中的事件

EventBridge 和 CloudWatch 可讓您對任務活動做出反應,而不會耗用陣列容量。當您的邏輯回應任務結果,而不是作為任務的一部分執行時,請使用它們。

  • 截止日期 雲端會將具有來源的事件傳送至您 AWS 帳戶中aws.deadline的預設事件匯流排。事件涵蓋任務、步驟和任務狀態變更、機群大小建議和預算閾值。您擁有規則、 AWS Lambda (Lambda) 函數和無效字母佇列 (DLQ)。將規則路由至 Lambda 函數以進行通知、資產註冊,或將任務跨佇列鏈結 (事件至 Lambda 或 () 至 )CreateJob。交付會盡最大努力,而且事件可能無法按順序送達,因此讓您的消費者具有冪等性,並設定重試和 DLQ。

  • CloudWatch 指標和警示涵蓋 EventBridge 未涵蓋的條件,最重要的是授權可用性和機群容量。授權可用性沒有事件,因此您對LicensesInUse指標和限制計數發出警示。Fleet Size Recommendation Change 事件和 RecommendedFleetSize 指標也會推動客戶管理的機群自動擴展。

如需詳細資訊,請參閱下列內容:

選擇整合點

使用以下指引,為常見需求選擇整合點:

  • 若要在提交任務之前變更任務,請使用提交者掛鉤。

  • 若要在工作周圍的轉譯主機上執行邏輯,請使用主機組態指令碼或佇列、任務或步驟環境。選擇最廣泛的適用範圍,並使用佇列環境進行專案層級組態。

  • 若要在任務仍位於本機時處理任務輸出,請使用相依步驟。

  • 若要在不耗用陣列容量的情況下對任務結果做出反應,請使用 EventBridge 規則搭配 Lambda 函數。

  • 對於沒有事件的條件,例如授權或容量限制,請使用 CloudWatch 警示。

其他資源

如需相關概念和參考資料,請參閱下列內容: