共用方式為


StartTask interface

批次會在節點上觸發復原作業時重試工作。 復原作業的範例包括當狀況不良的節點重新啟動或計算節點因主機失敗而消失時,包括 (但不限於) 。 由於復原作業的重試與 無關,而且不會計入 maxTaskRetryCount。 即使 maxTaskRetryCount 是 0,由於復原作業,可能會發生內部重試。 因此,所有工作都應該是等冪的。 這表示工作必須容許中斷並重新啟動,而不會造成任何損毀或重複的數據。 長時間執行工作的最佳做法是使用某種形式的檢查點。 在某些情況下,即使計算節點未重新啟動,StartTask 仍可能會重新執行。 請特別小心,以避免 StartTasks 從 StartTask 工作目錄建立中斷程式或安裝/啟動服務,因為這樣會阻止 Batch 重新執行 StartTask。

屬性

commandLine

StartTask 的命令行。 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果命令行參考檔案路徑,它應該使用相對路徑(相對於Task工作目錄),或使用 Batch 提供的環境變數 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)。

containerSettings

StartTask 執行所在的容器設定。 指定此專案時,AZ_BATCH_NODE_ROOT_DIR下方的所有目錄都會遞歸地對應到容器中(節點上的 Azure Batch 目錄根目錄),所有工作環境變數都會對應到容器中,而工作命令行則會在容器中執行。 AZ_BATCH_NODE_ROOT_DIR外部容器中產生的檔案可能不會反映到主機磁碟,這表示 Batch 檔案 API 將無法存取這些檔案。

environmentSettings

StartTask 的環境變數設定清單。

maxTaskRetryCount

重試工作的最大次數。 如果 Batch 服務結束代碼為非零,則會重試工作。 請注意,這個值會特別控制重試次數。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次(一次初始嘗試,3 次重試)。 如果重試計數上限為0,Batch服務就不會重試工作。 如果重試計數上限為 -1,Batch 服務會不限制地重試工作。

resourceFiles

Batch 服務在執行命令行之前,會先下載至計算節點的檔案清單。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。 此元素底下列出的檔案位於工作的工作目錄中。

userIdentity

StartTask 執行的使用者身分識別。 如果省略,工作會以工作唯一的非系統管理使用者身分執行。

waitForSuccess

在排程計算節點上的任何工作之前,Batch 服務是否應該等候 StartTask 順利完成(也就是結束代碼 0)。 如果 True 且 StartTask 在節點上失敗,Batch 服務會重試 StartTask,最多重試計數上限 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,則 Batch 服務會將節點標示為無法使用,且不會排程工作。 您可以透過計算節點狀態和失敗資訊詳細資料來偵測此狀況。 如果為 false,Batch 服務將不會等候 StartTask 完成。 在此情況下,當 StartTask 仍在執行時,其他工作可以在計算節點上開始執行;即使 StartTask 失敗,新的工作仍會繼續排程在計算節點上。 默認值為 true。

屬性詳細資料

commandLine

StartTask 的命令行。 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果命令行參考檔案路徑,它應該使用相對路徑(相對於Task工作目錄),或使用 Batch 提供的環境變數 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)。

commandLine: string

屬性值

string

containerSettings

StartTask 執行所在的容器設定。 指定此專案時,AZ_BATCH_NODE_ROOT_DIR下方的所有目錄都會遞歸地對應到容器中(節點上的 Azure Batch 目錄根目錄),所有工作環境變數都會對應到容器中,而工作命令行則會在容器中執行。 AZ_BATCH_NODE_ROOT_DIR外部容器中產生的檔案可能不會反映到主機磁碟,這表示 Batch 檔案 API 將無法存取這些檔案。

containerSettings?: TaskContainerSettings

屬性值

environmentSettings

StartTask 的環境變數設定清單。

environmentSettings?: EnvironmentSetting[]

屬性值

maxTaskRetryCount

重試工作的最大次數。 如果 Batch 服務結束代碼為非零,則會重試工作。 請注意,這個值會特別控制重試次數。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次(一次初始嘗試,3 次重試)。 如果重試計數上限為0,Batch服務就不會重試工作。 如果重試計數上限為 -1,Batch 服務會不限制地重試工作。

maxTaskRetryCount?: number

屬性值

number

resourceFiles

Batch 服務在執行命令行之前,會先下載至計算節點的檔案清單。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。 此元素底下列出的檔案位於工作的工作目錄中。

resourceFiles?: ResourceFile[]

屬性值

userIdentity

StartTask 執行的使用者身分識別。 如果省略,工作會以工作唯一的非系統管理使用者身分執行。

userIdentity?: UserIdentity

屬性值

waitForSuccess

在排程計算節點上的任何工作之前,Batch 服務是否應該等候 StartTask 順利完成(也就是結束代碼 0)。 如果 True 且 StartTask 在節點上失敗,Batch 服務會重試 StartTask,最多重試計數上限 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,則 Batch 服務會將節點標示為無法使用,且不會排程工作。 您可以透過計算節點狀態和失敗資訊詳細資料來偵測此狀況。 如果為 false,Batch 服務將不會等候 StartTask 完成。 在此情況下,當 StartTask 仍在執行時,其他工作可以在計算節點上開始執行;即使 StartTask 失敗,新的工作仍會繼續排程在計算節點上。 默認值為 true。

waitForSuccess?: boolean

屬性值

boolean