全部產品
Search
文件中心

Function Compute:什麼是重試機制以及如何配置函數重試策略

更新時間:Jul 06, 2024

當函數非同步呼叫執行失敗後,Function Compute自動進行錯誤重試。本文介紹重試機制以及如何在Function Compute控制台配置重試策略。

重試機制

對於常見錯誤,系統預設的重試策略如下表所示。

狀態代碼

執行失敗原因

伺服器端行為

200

錯誤類型為HandledInvocationErrorUnhandledInvocationError。更多資訊,請參見基礎資訊

預設重試3次,或根據非同步呼叫配置中設定的maxAsyncRetryAttempts重試。

429

函數並發執行超過上限被流控。

以二進位指數退避方式重試執行5小時。當您的函數執行失敗後將在0.5秒後開始重試,後續重試執行的時間間隔將以二進位指數退避方式計算,即重試時間間隔為1秒、2秒、4秒、8秒等持續重試5小時。

500

系統錯誤。

503

Function Compute資源不足。

配置重試策略

Function Compute支援自訂重試次數和訊息最大存活時間長度。

  1. 登入Function Compute控制台,在左側導覽列,單擊服務及函數
  2. 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。
  3. 函數管理頁面,單擊目標函數名稱。
  4. 在目標函數詳情頁面,單擊非同步配置頁簽,然後在非同步策略地區,單擊編輯

  5. 編輯非同步策略面板,設定以下配置項,然後單擊確定

    配置項

    解釋說明

    任務模式(可選)

    是否開啟非同步任務模式,關於非同步任務模式,請參見非同步任務功能概覽

    配置重試策略時,無需配置該參數。

    最大重試次數

    用於配置非同步呼叫流程中的訊息最大重試次數,取值範圍[0,8]。

    Function Compute在預設情況下,對非同步觸發失敗的訊息進行3次重試,您可以根據業務需求減少或增加對非同步呼叫的重試。

    訊息最大存活時間長度

    用於配置非同步呼叫流程中的訊息最大存活時間長度,取值範圍[1,604800],預設為86400,單位為秒。

    該時間長度從觸發非同步呼叫時開始計算,到該訊息出隊準備進行處理為止。如果超過配置的訊息最大存活時間長度,該條訊息將被丟棄。未被消費的訊息將計入CloudMonitor非同步呼叫觸發事件(次)指標。關於指標詳情,請參見監控指標