在昨天的 Day 11 中,我們成功串接 Telegram Bot 完成了任務落地後的即時推播回報。然而,真實的自動化環境往往充滿不可預期的變數:例如 Dify API 連線逾時、模型回傳了非預期的 Markdown 符號導致 JSON 解析失敗,或是 Notion 伺服器短暫波動等。
今天我們要學習如何為 n8n 打造「容錯保護網」,透過錯誤捕獲機制(Error Trigger),在流程失敗時即時通報,避免系統靜默中斷!
預設情況下,當 n8n 任一節點執行失敗時,整個 Workflow 會直接中斷,且不會觸發後續的任何節點。如果沒有監控機制:
對於容易發生網路抖動的節點(例如 HTTP Request 呼叫 Dify):
點開 HTTP Request 節點,切換至頂部的 Settings 分頁。
開啟 Retry On Fail(失敗時自動重試):
Max Tries:設為 3。
Wait Between Tries (ms):設為 2000(間隔 2 秒重試一次)。
若該節點允許非致命失敗,亦可開啟 Continue On Fail,讓流程繼續往下走。
在 n8n 中,最標準的高可用架構是建立一條獨立的「警報專用工作流」:
[System] Error Handler。Error Trigger。{{ $json.execution.id }}:失敗的執行序 ID。{{ $json.workflow.name }}:出問題的工作流名稱。{{ $json.execution.error.message }}:具體的錯誤訊息。Error Trigger 後方連線一個 Telegram 節點。🚨 *[n8n 系統警報] 流程執行失敗!*
⚙️ *失敗工作流*:{{ $json.workflow.name }}
🆔 *Execution ID*:#{{ $json.execution.id }}
❌ *錯誤原因*:`{{ $json.execution.error.message }}`
🔗 [點此進入 n8n 查看錯誤記錄](http://localhost:5678/workflow/{{ $json.workflow.id }}/executions/{{ $json.execution.id }})
Workflow Settings(齒輪圖示)。[System] Error Handler 並儲存。今天我們為自動化管線裝上了安全氣囊,使整個任務提煉系統具備生產環境(Production-ready)的穩定度。明天「Day 13」我們將進入更進階的場景——「多輪對話與上下文延續」,讓 Dify 能夠記憶先前的任務對話,支援追加修改與即時刪改待辦事項!