嗨各位,我正在處理 n8n 中一個更進階的可靠性問題,涉及 webhook 觸發的工作流程。
我有一個工作流程:
Webhook → 處理 → 資料庫
外部服務有時會重試相同的 webhook 事件(例如,由於逾時),所以 n8n 會收到具有相同負載的重複請求。
目前,這會導致:
• 資料庫中有重複記錄
• 重複的下游動作(電子郵件、API 呼叫等)
範例負載:
{
“event_id”: “abc123”,
“user_id”: 42,
“action”: “created”
}
如果相同的 event_id 被傳送兩次,它會被處理兩次。
我已經嘗試過的方法
• 在 Function 節點中進行基本檢查
• 資料庫 upserts
• 新增延遲
但這些都無法完全保證恰好一次的處理。
挑戰
我想確保:
• 每個事件只被處理一次
• 安全處理重試
• 沒有重複的副作用
描述問題/錯誤/問題
錯誤訊息是什麼(如有)?
請分享您的工作流程
(選取畫布上的節點,並使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 來複製和貼上工作流程。)
分享最後一個節點傳回的輸出
您的 n8n 設定的相關資訊
- n8n 版本:
- 資料庫(預設值:SQLite):
- n8n EXECUTIONS_PROCESS 設定(預設值:own、main):
- 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用程式):
- 作業系統: