當函數異步調用執行失敗后,函數計算自動進行錯誤重試。本文介紹重試機制以及如何在函數計算控制臺配置重試策略。
重試機制
對于常見錯誤,系統默認的重試策略如下表所示。
狀態碼 | 執行失敗原因 | 服務器端行為 |
200 | 錯誤類型為 | 默認重試3次,或根據異步調用配置中設置的maxAsyncRetryAttempts重試。 |
429 | 函數并發執行超過上限被流控。 | 以二進制指數退避方式重試執行5小時。當您的函數執行失敗后將在0.5秒后開始重試,后續重試執行的時間間隔將以二進制指數退避方式計算,即重試時間間隔為1秒、2秒、4秒、8秒等持續重試5小時。 |
500 | 系統錯誤。 | |
503 | 函數計算資源不足。 |
配置重試策略
函數計算支持自定義重試次數和消息最大存活時長。
- 登錄函數計算控制臺,在左側導航欄,單擊服務及函數。
- 在頂部菜單欄,選擇地域,然后在服務列表頁面,單擊目標服務。
- 在函數管理頁面,單擊目標函數名稱。
在目標函數詳情頁面,單擊異步配置頁簽,然后在異步策略區域,單擊編輯。
在編輯異步策略面板,設置以下配置項,然后單擊確定。
配置項
解釋說明
任務模式(可選)
是否開啟異步任務模式,關于異步任務模式,請參見異步任務功能概覽。
配置重試策略時,無需配置該參數。
最大重試次數
用于配置異步調用流程中的消息最大重試次數,取值范圍[0,8]。
函數計算在默認情況下,對異步觸發失敗的消息進行3次重試,您可以根據業務需求減少或增加對異步調用的重試。
消息最大存活時長
用于配置異步調用流程中的消息最大存活時長,取值范圍[1,604800],默認為86400,單位為秒。
該時長從觸發異步調用時開始計算,到該消息出隊準備進行處理為止。如果超過配置的消息最大存活時長,該條消息將被丟棄。未被消費的消息將計入云監控異步調用觸發事件(次)指標。關于指標詳情,請參見監控指標。
文檔內容是否對您有幫助?