API 提供商錯誤

當處理大量請求時,我的工作流程開始收到來自 API 提供商的速率限制錯誤。在 n8n 中處理這個問題的最佳方法是什麼?

描述問題/錯誤/問題

錯誤訊息是什麼(如果有的話)?

請分享您的工作流程

(選擇畫布上的節點,並使用鍵盤快速鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 來複製和貼上工作流程。)

分享最後一個節點傳回的輸出

您的 n8n 設定資訊

  • n8n 版本:
  • 資料庫(預設值:SQLite):
  • n8n EXECUTIONS_PROCESS 設定(預設值:own、main):
  • 透過以下方式執行 n8n(Docker、npm、n8n cloud、桌面應用程式):
  • 作業系統:

@Victory1 內建的方式是使用 HTTP Request 節點的 Batching 選項,裡面有完全符合你需求的設定。在節點上點擊 Add Option > Batching,然後設定 Items per Batch 和 Batch Interval (ms) 來控制呼叫的速度。例如,如果 API 允許每秒一個請求,就把 Items per Batch 設為 1,Batch Interval 設為 1000,這樣可以把請求間隔開來,就不會觸發限制了(基本上就是把 Loop Over Items + Wait 烤進同一個節點裡)。然後在節點設定裡開啟 Retry On Fail,並設定重試之間的等待時間,這樣偶爾漏掉的 429 錯誤就會在暫停後自動重試,而不是讓整個流程失敗。你的提供商實際的限制是多少呢,是每秒的請求數還是每分鐘的?我可以告訴你確切的數字來設定。

實施延遲、批次處理或重試邏輯,以減少在短時間內發送的請求數量。

大多數 API 都會記錄其速率限制,因此在工作流程中圍繞這些限制進行設計可以防止失敗。