View a markdown version of this page

提交需要限制的任務 - 截止日期雲端

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

提交需要限制的任務

您可以將限制指定為任務或任務步驟的主機需求,以套用限制。如果您未在步驟中指定限制,且該步驟使用相關聯的資源,則在排程任務時,該步驟的用量不會計入限制。

有些截止日期雲端提交者可讓您設定主機需求。您可以在提交者中指定限制的金額需求名稱,以套用限制。

如果您的提交者不支援新增主機需求,您也可以編輯任務的任務範本來套用限制。

將限制套用至任務套件中的任務步驟
  1. 使用文字編輯器開啟任務的任務範本。任務範本位於任務的任務套件目錄中。如需詳細資訊,請參閱《截止日期雲端開發人員指南》中的任務套件

  2. 尋找要套用限制之步驟的步驟定義。

  3. 將以下內容新增至步驟定義。將 amount.name 取代為您限制的數量需求名稱。對於一般用途,您應該將min值設定為 1。

    YAML
    hostRequirements: amounts: - name: amount.name min: 1
    JSON
    "hostRequirements": { "amounts": [ { "name": "amount.name", "min": "1" } } }

    您可以在任務步驟中新增多個限制,如下所示。將 amount.name_1amount.name_2 取代為您限制的數量需求名稱。

    YAML
    hostRequirements: amounts: - name: amount.name_1 min: 1 - name: amount.name_2 min: 1
    JSON
    "hostRequirements": { "amounts": [ { "name": "amount.name_1", "min": "1" }, { "name": "amount.name_2", "min": "1" } } }
  4. 將變更儲存至任務範本。

使用提交掛鉤自動化限制

如果您想要強制執行所有任務提交的限制,而不需要藝術家手動編輯任務範本,則可以使用預先提交掛鉤,在提交時將主機需求自動插入每個任務範本。

預先提交掛鉤是在提交任務之前執行的指令碼。勾點可以修改任務套件的 template.yaml,為您的限制新增hostRequirements金額項目。此方法可確保透過截止日期雲端 CLI 或 DCC 提交者提交的每個任務都宣告其對有限資源的需求。

如需完整的工作範例,請參閱 Deadline Cloud 範例儲存庫中的授權限制提交勾點範例。

End-to-end範例:強制執行 V-Ray 授權限制

此範例示範如何設定 5 個 V-Ray 浮動授權的限制,並確認排程器強制執行。

設定和測試 V-Ray 授權限制
  1. 在陣列上建立限制:

    aws deadline create-limit \ --farm-id farm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ --display-name "VRay License" \ --amount-requirement-name "amount.vray" \ --max-count 5
  2. 將限制與佇列建立關聯:

    aws deadline create-queue-limit-association \ --farm-id farm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ --queue-id queue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ --limit-id limit-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  3. 將主機需求新增至您的任務範本:

    specificationVersion: jobtemplate-2023-09 name: My VRay Render steps: - name: Render hostRequirements: amounts: - name: amount.vray min: 1 script: actions: onRun: command: vray args: ["-scene", "{{Param.SceneFile}}"]
  4. 提交任務。排程器最多允許 5 個任務amount.vray與 同時執行佇列中的所有任務。其他任務會保持 READY 狀態,直到槽可用為止。

若要驗證限制是否正常運作,請暫時maxCount將 設為 1 並提交兩個任務。第一個任務會在第二個任務保持 READY 狀態時執行,直到第一個任務完成。