對 Flow 錯誤和使用限制進行疑難排解

本文件將說明常見錯誤和限制,以及其發生原因和解決的方法。您可能會在 Flow 中遇到兩種類型的錯誤:永久性錯誤和暫時性錯誤。

暫時性錯誤

暫時性錯誤是指當 Flow 無法完成任務而發生的臨時錯誤。這些錯誤在順利完成或達到逾時限制前,系統會不斷重試。例如,如果 Flow 在執行連接工具的動作時無法聯絡上合作夥伴,則 Flow 會多次重試此任務,然後才會停止。

重試是分散的,後續每次嘗試之間的延遲時間會比前一次的延遲時間更長。通常在工作流程遇到暫時性錯誤時,其會因重試任務而長時間保持在「執行」狀態。

重試任務並順利完成後,工作流程將繼續進行;如果重試任務遭遇永久性錯誤,則工作流程失敗。每個工作流程區段的總執行時間上限為 36 小時。如果含有暫時性錯誤的步驟在達到該限制前無法順利完成,工作流程即為失敗。

具有等待步驟的工作流程會分為多個區段,這會影響工作流程中超時限制的計算方式,而每個區段都是一組共同執行的任務,而每個區段都有各自的 36 小時執行上限。舉例來說,如果工作流程具有一個等待時間為一個小時的等候步驟,則該等待步驟之前的任務將在同一區段中同時執行,而等待步驟之後的任務將在其他區段中同時執行。如果工作流程具有多個等待步驟,則每個等待步驟間的任務將在同一區段中同時執行,不具等待步驟的工作流程會視為一個區段。

偶爾會出現一些暫時性錯誤,但如果您的工作流程在多次執行中不斷出現相同的暫時性錯誤,則您可能需要重新設定工作流程。

步驟逾時

Step timed out 錯誤通常會在工作流程的某個任務嘗試在同一區段查詢過多資料時發生。錯誤經常出現在重複查看太龐大的清單 (尤其是巢狀清單),而無法及時擷取資料的工作流程中。

若工作流程發生此錯誤,觸發條件或等待步驟會顯示為 retrying

要解決此問題,請檢查存取清單和巢狀清單的所有條件,以確保它們正確無誤。其中一個常見問題是條件會檢查商店中的所有商品,而不是只檢查訂單中的商品。

5xx 狀態

大部分的 Flow 動作會包含進行 HTTP 呼叫。有時,網路或其他伺服器問題可能會導致 HTTP 呼叫失敗,並傳回 500 到 599 之間的錯誤代碼。若僅看到發生這個錯誤一次無需擔心,但重複發生的話,可能表示處理任務的伺服器存在問題,而非設定步驟的方式。

此種類型的錯誤在「傳送 HTTP 要求」的動作中最常出現,但也可能發生在多數任務中。

GraphQL Throttled (GraphQL 已調節)

工作流程所完成的總工作量會受限於 API 速率限制,這些限制會依您的方案而定。正常情況下,除非工作流程很複雜或出現意外設計錯誤,否則不會達到這些限制。下列為可能導致此錯誤的情境範例:

  • Liquid 或工作流程中的條件會迴圈執行包含大量資料的清單,例如檢查包含 HTML 的中繼欄位值。
  • Liquid 或工作流中的條件會迴圈執行大型清單,例如對大型商店的 shop.orders 反覆執行迴圈。
  • 工作流程會導致無限迴圈,而工作流程會不斷建立新工作流程執行作業。舉例來說,如果工作流程使用「顧客標籤已新增」觸發條件,並包含「新增顧客標籤」動作,則可能會發生這種情況。

如果達到限制,則您會收到 GraphQL throttled 錯誤。其他工作流嘗試執行時,可能會受此錯誤影響;因此如果發生此錯誤,應立即解決。

永久性錯誤

永久性錯誤是指當 Flow 無法完成任務,且無法重試任務時所發生的錯誤。例如,如果 Flow 由於電子郵件地址無效而無法寄送電子郵件,則不會重試任務。相反地,該工作流程即視為失敗。

Flow 沒有您 Google 試算表帳戶的權限,請重新連結您的帳號。

Google 試算表連接工具 要求您將 Google 帳戶連結到 Flow,才會具有將內容寫入試算表的權限。這種錯誤可能會在 Flow 不具將內容寫入試算表的權限時發生,原因可能是帳戶未與 Flow 中連結,或帳戶不具該試算表的存取權限。

要解決此問題,請確保用於連接工具的帳號具有開啟表格及編輯存取的權限。如果連結了錯誤的帳號,您可以取消連結並重新連結新帳號。

步驟如下:

  1. 開啟或建立新的工作流程。
  2. 新增動作。
  3. 選取 Google 試算表連接工具。
  4. 點擊「取消連結」,然後點擊「連結」。

收到的 Flow 動作含有無效屬性,顧客不接受行銷。

傳送行銷電子郵件」動作不會向未同意接收的顧客傳送電子郵件,如果工作流程嘗試這樣做,則動作將永久失敗。

若要解決此問題,請在工作流程中新增會檢查顧客訂閱狀態的條件。傳送行銷電子郵件之前,您可以確保顧客已同意接收這些電子郵件。請依照電子郵件訂閱者名單管理中的步驟進行操作。

遺漏 [資源類型] 的資源

此錯誤表示有一項資源 (如 customerorder) 在工作流程可以擷取其資料前已遭刪除。這種情況通常發生在等待步驟之後,但如果資源在觸發事件發生後很快遭到刪除,則這種情況也可能發生在觸發條件上。

發生錯誤時收到通知

如果發生錯誤會影響您的商店營運,您可以設定錯誤通知。錯誤通知的設定方式就和使用「工作流程發生錯誤」觸發條件的任何其他工作流程一樣。錯誤通知旨在限制干擾,因此每個工作流程版本只會收到一個通知

若要開始設定,可以使用以下其中一個範本:

重試執行

在某些情況下,執行工作流程可能會發生錯誤或未如預期執行。排解和修正相關工作流程中的問題後,便可手動重試過往的執行作業,以追溯並修正先前的執行結果。深入瞭解如何重試執行工作流程

準備好開始透過 Shopify 銷售商品了嗎?

免費試用