

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

# 在 HealthOmics 工作流程中執行生命週期
<a name="monitoring-runs"></a>

您可以透過監控執行狀態來追蹤執行的進度。HealthOmics 會在執行進行生命週期時更新執行狀態。

您可以使用下列任一方法擷取執行狀態：
+  HealthOmics 主控台會在**Runs**頁面上顯示每個執行的狀態。
+ **GetRun** API 操作會傳回目前的執行狀態。
+ 您可以使用 EventBridge 事件來監控執行狀態。如需詳細資訊，請參閱[搭配 使用 EventBridge AWS HealthOmics](eventbridge.md)。

**Topics**
+ [執行狀態值](#run-status-values)
+ [任務重試](#run-status-task-retries)
+ [執行狀態的定價影響](#run-status-billing)

## 執行狀態值
<a name="run-status-values"></a>

當您開始執行時，HealthOmics 會將執行狀態設定為 **Pending**。隨著執行的生命週期進行，HealthOmics 會更新狀態值，以反映其目前的進度。

**注意**  
您在執行中以外的任何執行狀態期間不會產生費用。如需詳細資訊，請參閱下節。

HealthOmics 支援下列執行狀態值：

**待定**  
執行在佇列中，正在等待啟動。執行通常會在啟動前維持在待定狀態一小段時間。  
+ 如果您同時提交多個任務，則執行可以保留在待定中更長的時間。
+ 在您的 帳戶達到並行執行數目上限後，執行會保持在待定狀態。
+ 如果執行是達到其任何資源最大值的執行群組的一部分，則執行會保持在待定中。
+ 您可以調整執行優先順序，讓特定排入佇列的執行在其他人之前開始。如需執行優先順序的詳細資訊，請參閱 [執行優先順序](creating-run-groups.md#run-priority)。

**啟動**  
HealthOmics 會建立執行並佈建執行所需的資源 （例如暫時執行儲存體和引擎節點）。  
+ HealthOmics 會在執行開始時佈建暫時執行儲存體，並在執行停止時取消佈建執行儲存體。

**執行中**  
在匯入程序、每個任務的處理和匯出程序期間，執行會保持在執行中狀態。  
+ HealthOmics 會將輸入檔案匯入暫時執行的儲存檔案系統。輸入檔案是唯讀的，可防止任務修改工作流程中其他任務的輸入。
+ 在檔案匯出期間，HealthOmics 會將輸出檔案從執行儲存檔案系統匯出至 S3 位置。
+ HealthOmics 會在執行狀態執行時，將執行日誌和任務日誌即時交付至 CloudWatch。如需詳細資訊，請參閱[CloudWatch 中的日誌](monitoring-cloudwatch-logs.md#cloudwatch-logs)。

**正在停止**  
匯出程序完成後，執行會轉換為停止狀態。  
+ HealthOmics 會取消佈建所有資源 （包括執行儲存檔案系統和引擎節點）。

**已完成**  
HealthOmics 完成資源取消佈建後，執行會轉換為已完成。  
+ HealthOmics 已完成所有執行任務，並無錯誤地匯出輸出資料。
+ 執行輸出可在指定的 Amazon S3 URI 輸出位置使用。對於 WDL 和 CWL，HealthOmics 會產生執行輸出摘要檔案，提供 的相關資訊[HealthOmics 執行輸出](workflows-run-outputs.md)。
+ 最終執行資訊清單日誌和引擎日誌 （如適用） 可在 CloudWatch 中使用。
+ 對於支援任務重試的執行，狀態為已完成的執行可以包含一或多個失敗的任務。只要每個失敗的任務都重試成功，HealthOmics 就會將執行轉換為已完成。HealthOmics 會為每個重試指派新的任務 ID，因此執行會包含失敗嘗試和完成嘗試的任務 IDs。

**失敗**  
HealthOmics 遇到一或多個錯誤，無法完成所有執行任務。  
+ 當 HealthOmics 取消佈建資源時，失敗的執行會轉換到停止狀態。

**已取消**  
使用者啟動取消執行的請求。  
+ HealthOmics 會停止任何執行中的任務，並取消佈建所有資源。
+ 當使用者取消執行時，HealthOmics 不會匯出任何執行輸出資料。您無法存取任何已取消執行的中繼檔案。
+ 您的帳戶會針對取消之前在執行狀態期間執行的任務和資源產生費用。
+ 如果您取消處於待定或開始狀態的執行，則不會產生任何費用。

## 任務重試
<a name="run-status-task-retries"></a>

HealthOmics 支援因服務錯誤 (5XX HTTP 狀態碼） 失敗的任務的任務重試。

如果執行中的每個任務最終都完成，即使他們需要重試，HealthOmics 也會將執行轉換為已完成。HealthOmics 會為每個重試指派新的任務 ID，因此執行會包含失敗嘗試和完成嘗試的任務 IDs。

預設重試行為取決於工作流程使用的定義語言。Nextflow 的預設值為不重試。對於 WDL 和 CWL，HealthOmics 最多會嘗試兩次失敗任務的重試，但您可以選擇不對特定任務或工作流程中的所有任務進行任務重試。任務重試對於解決間歇性服務錯誤很有用。不過，您可以考慮選擇退出等冪的任務。

如需每個工作流程定義語言的特定資訊，請參閱下列主題：
+ WDL – 在工作流程定義中設定任務重試行為。請參閱[設定 WDL 任務重試行為](workflow-languages-wdl.md#workflow-wdl-task-retry)。
+ Nextflow – 在 Nextflow 組態檔案或工作流程定義中設定任務重試行為。請參閱[設定下一個流程任務重試行為](workflow-definition-nextflow.md#workflow-nextflow-retry-5xx)。
+ CWL – 在工作流程定義中設定任務重試行為。請參閱[設定 CWL 任務重試行為](workflow-languages-cwl.md#workflow-cwl-retry-5xx)。

## 執行狀態的定價影響
<a name="run-status-billing"></a>

當執行狀態為執行中時，您的帳戶可能會產生費用。您在任何其他執行狀態期間不會產生費用。例如，當執行為開始或停止時，不會收取資源費用。

具有執行中狀態的執行具有下列計費影響：
+ 當執行狀態為執行時，您的帳戶會產生執行儲存檔案系統用量的費用。如需執行儲存體類型的相關資訊，請參閱 [在 HealthOmics 工作流程中執行儲存類型](workflows-run-types.md)。
+ 您的帳戶會根據您在工作流程定義中為每個任務指定的運算和記憶體資源，以及任務持續時間，支付執行任務的費用。如需詳細資訊，請參閱[HealthOmics 任務的運算和記憶體需求](memory-and-compute-tasks.md)。
+ 每個任務的帳單閾值下限為一分鐘。如果您執行任務的時間少於一分鐘，則至少需要支付一分鐘用量的費用。如果可能，請將小型任務分組在一起以最佳化成本。分組任務也會避免啟動多個循序任務，以縮短執行時間。

如需 HealthOmics 定價的其他資訊，請參閱 [HealthOmics 定價](https://aws.amazon.com/healthomics/pricing/)。