使用 BatchJobService
時,請考量下列規範:
- 為提高總處理量,建議減少大型工作,而非使用多個較小的工作。
- 建議每個
AddBatchJobOperationsRequest
新增的作業不得超過 1,000 個,並使用sequence_token
將其餘作業上傳至同一個工作。視作業內容而定,一個AddBatchJobOperationsRequest
中包含太多作業時,可能會導致REQUEST_TOO_LARGE
錯誤。如要處理這個錯誤,請減少作業數量,然後重試AddBatchJobOperationsRequest
。 - 為同一帳戶提交多項並行工作時,請嘗試減少在相同物件上同時執行作業的可能性,同時維持大型工作大小。許多嘗試變更同一組物件的未完成工作 (狀態為
RUNNING
) 可能會導致類似死結的情況,進而導致嚴重減慢甚至工作失敗的情況。 - 請勿在相同工作中提交多項變更相同物件的作業,否則結果可能難以預測。
- 為提高處理量,請按照作業類型排序上傳的作業。舉例來說,如果工作包含新增廣告活動、廣告群組和廣告群組條件的作業,請排序上傳中的作業,讓所有廣告活動作業先後,再執行所有廣告群組作業,以及所有廣告群組條件作業。
- 請勿太常輪詢工作狀態,否則可能會達到頻率限制錯誤的風險。
- 每頁請勿擷取超過 1,000 筆結果。由於負載或其他因素,伺服器可能會傳回少於這個值。
- 結果的順序與進行批次處理時的上傳順序相同。
- 您可以設定批次工作在取消前可執行的時間長度上限。建立新的批次工作時,請將
metadata.execution_limit_seconds
欄位設為您偏好的時間限制,以秒為單位。如果未設定metadata.execution_limit_seconds
,則沒有預設時間限制。
限制
- 每個
BatchJob
最多支援一百萬項作業。 - 每個帳戶一次最多可同時擁有 100 個有效或待處理的工作。
- 系統會自動移除超過 7 天的待處理工作。