描述問題/錯誤/疑問
我們在多個工作流程中的 Webhook 遇到問題。有多次發生,通常在凌晨 12 點/中午 12 點 ~ 凌晨 12:20 點/中午 12:20 點左右,某些 Webhook 根本無法呼叫,n8n 會拋出「執行工作流程時出現問題」的錯誤。或後端在超時時運行,沒有記錄任何執行(儘管執行記錄已開啟)。沒有更多的錯誤訊息,只有這個通用的錯誤訊息。有沒有地方可以在我的 n8n 實例上看到有關此錯誤的更多資訊?
錯誤訊息是什麼(如果有的話)?
執行工作流程時出現問題
請分享您的工作流程
多個具有 Webhook 觸發器的工作流程,未執行。
分享最後一個節點返回的輸出
沒有輸出,沒有記錄。
關於您的 n8n 設定的資訊
- n8n 版本: 1.123.6/1.123.61
- 資料庫(預設值: SQLite): Postgres
- n8n EXECUTIONS_PROCESS 設定(預設值: own、main): own、main
- 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用程式): render.com 上的 Docker
- 作業系統:
找到「真實」錯誤的唯一地方是在 Render.com 服務日誌中。
- 尋找什麼: 前往您的 Render 儀表板 →→ 您的 n8n 服務 →→ 日誌。
- 特定關鍵字: 在 12:00 AM/PM 時間戳記周圍搜尋
SQLITE_BUSY、database is locked、Out of Memory、Killed 或 Segmentation fault。
- 專業提示: 為了獲得更多詳細資訊,請在您的 Render 設定中新增環境變數
N8N_LOG_LEVEL=debug 並重新啟動。這將強制 n8n 將更詳細的內部事件列印到 Render 日誌中。
根據您的描述,這種行為通常是由以下兩種情況之一引起的:資料庫鎖定或記憶體耗盡 (OOM)。
以下是建議的修復方案:
- 遷移到 PostgreSQL: SQLite 不是為生產環境並發設計的。Render 提供託管的 PostgreSQL 資料庫。遷移到 Postgres 可以完全消除「寫入鎖定」問題,這是任何處理生產環境 webhook 的 n8n 實例的標準建議。它將永久解決 12:00 逾時和通用的「執行問題」錯誤。
抱歉,我搞錯了,我們已經在使用 Postgres。
記憶體在那些時間也不會飆升,而且在 render 服務中沒有其他日誌條目,只有那些「執行工作流程時出現問題」的條目。
@Florian_Glappa 我預期那個錯誤會在 n8n 日誌中觸發某些東西。Render 是否可能在午夜左右進行備份/快照?在同一時間段周圍有 20 分鐘的窗口,更指向環境相關的問題,而不是應用程式端的錯誤。
補充 Jon 的環境觀點——還有一個應用層面的模式符合你的確切症狀,但還沒被提及:0 0,12 * * * 是現存最常見的 cron 表達式之一。如果你的實例上的任何工作流(不只是失敗的那些)有一個 Schedule Trigger 在 00:00 和 12:00 觸發,一個沈重的每日兩次作業會短暫使實例飽和,傳入的 webhook 就是會明顯失敗。值得快速盤點所有工作流的每個 Schedule Trigger,然後檢查按這些時間窗口篩選的執行列表:當 webhook 故障時,是否總是有一個排程運行在進行中?
第二個符合你的「儘管啟用了儲存但沒有記錄執行數據」的事項:Postgres 連接池耗盡。n8n 的每個主進程預設池很小,當多個執行同時啟動時,池就會乾涸——新執行可能在 n8n 設法寫入執行表之前就失敗,錯誤會回傳給 webhook 呼叫者,但幾乎沒有什麼進入服務日誌。這解釋了為什麼你在 Render 日誌中幾乎看不到任何內容。兩項檢查:提高 DB_POSTGRESDB_POOL_SIZE(例如改為 10)並看模式是否改變,以及查看 Postgres 端日誌(Render 數據庫的日誌,不是 n8n 服務日誌)中是否有連接錯誤或這些時間窗口中的延遲尖峰——託管數據庫備份也會在那裡出現,這會確認 Jon 的理論而不需要猜測。
而且既然這麼可預測:實時監視一次。docker logs -f(啟用偵錯,如 kjooleng 建議的)從 11:55 到 12:25 會告訴你比一整天的回捲日誌更多的東西,加上按狀態「crashed」篩選執行列表——那些不總是出現在你預期的地方。
如果 cron 盤點出現了每日兩次的作業,通常的修復方式就是將它移到奇時間(03:17 風格)並進行批處理。在任何單實例 n8n 上以奇數分鐘錯開排程是個好習慣。
嘿,這提示真的很有幫助,謝謝!我找到了一個在 00:05 和 12:05 啟動的 cron,通常運行 15 分鐘,但使用了大量的記憶體。我現在已經重構了,我認為這就是問題所在。非常感謝!
還有增加了連接池的大小。