

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

# 先佔
<a name="preemption"></a>

配額管理是唯一納入**先佔**的 AWS Batch 排程演算法，其中 會 AWS Batch 停止 `SCHEDULED`、 `STARTING`或 `RUNNING`任務來為`RUNNABLE`任務建立容量。

## 跨共用先佔
<a name="cross-share-preemption"></a>

配額管理使用**跨共用先佔**，在任務到達時將借用容量還原至配額共用。

如果配額共享使用的容量現在超過其設定的容量限制`SCHEDULED``STARTING`，則降低配額共享容量限制的管理員也可以使該配額共享內的 、 或 `RUNNING`任務符合先佔資格。

## 共用中先佔
<a name="in-share-preemption"></a>

配額共享可以設定為啟用**共用中先佔**，這允許較高優先順序`RUNNABLE`的任務在已輸入 `SCHEDULED`、 `STARTING`或 的相同配額共享中觸發先佔較低優先順序的任務`RUNNING`。

## 先佔選擇演算法
<a name="preemption-selection-algorithm"></a>

選擇要先佔的任務時， AWS Batch 請考慮任務借用的執行個體數量和類型、任務的相對優先順序和任務持續時間，並套用自訂啟發式。您可以使用 [UpdateServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateServiceJob.html) API 呼叫，在提交後更新任務`schedulingPriority`的 。這有助於降低`RUNNING`任務的優先順序 （增加先佔的可能性），或在啟用共用先佔的情況下提高配額共享中的`RUNNABLE`任務優先順序，讓任務可以先佔已執行的任務。

## 先佔重試
<a name="preemption-retries"></a>

預設為將先佔任務重新排入佇列，`RUNNABLE`無限制。若要限制任務體驗的先佔數量，請在提交任務`preemptionRetriesBeforeTermination`時設定 。當 `preemptionRetriesBeforeTermination` 設為 0 時，任務會在第一個先佔`FAILED`時移至 。

最近先佔嘗試的滑動時段會存放在任務中，並透過 [DescribeServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html) 顯示。