非同步工作流的拆分與恢復模式 - n8n 工作流程

使用 Wait n8n 節點與 resumeUrl 回調方法,精通進階的 n8n 工作流設計。無縫管理跨獨立 n8n 執行中的長時間、非同步任務。

工作流預覽

準備好自動化了嗎?

下載此 n8n 工作流程範本並立即開始使用。

適用對象


  • 需要管理非同步程序的進階 n8n 使用者。

  • 正在建構需要外部、耗時服務的長期整合開發人員。

  • 任何設計複雜 n8n 範本,且主要執行必須暫停並等待次要 n8n 觸發事件的人員。

總覽

這個進階的 n8n 工作流示範了一項關鍵技術,用於處理需要顯著等待期或涉及外部、獨立系統觸發回調的程序。當標準的 n8n 執行遇到長時間延遲時,它有超時的風險。這個 n8n 工作流範本透過啟動一個「主要執行」,並使用專門的 Wait n8n 節點來暫停它,從而解決了這個問題。它會生成一個獨特的 resumeUrl,然後將其傳遞給「次要執行」(可以是另一個 n8n 工作流或外部系統)。次要執行會執行必要的步驟(例如獲取資料或等待外部回應),並使用 resumeUrl 來觸發回調,從而恢復原先的主要執行。這使得主要流程能夠存取在暫停前以及在次要程序期間收集到的上下文資料,使這成為一個強大的 n8n 流程控制機制。

運作方式

這個 n8n 工作流主要在兩個階段運行:主要執行和次要/獨立程序。

主要執行


  1. 初始 n8n 觸發: 執行從「點擊『測試工作流』」的手動 n8n 觸發開始。

  2. 環境設定: Set Primary Execution Context n8n 節點儲存流程其餘部分所需的變數。

  3. 啟動次要流程: HTTP Request - Initiate Independent Process n8n 節點呼叫次要程序的 Webhook,並關鍵性地將 $execution.resumeUrl 作為負載參數傳遞。

  4. 暫停: 主要流程到達 Wait n8n 節點,無限期地暫停執行,直到其獨特的 Webhook 回調網址(源自 resume URL)被命中。

  5. 恢復: 一旦次要程序執行了回調,主要執行就會在 Wait n8n 節點處恢復。

  6. 資料合併: This Node Can Access Primary and Secondary n8n 節點展示了等待前儲存的資料和透過回調傳回的資料(來自次要程序)是如何組合起來的。

次要/獨立程序


  1. 獨立 n8n 觸發: Webhook n8n 觸發器啟動這個獨立的執行,接收 resumeUrlForWaitingExecution 及其他運行環境資料。

  2. 外部模擬: 此程序模擬工作,獲取資料(例如來自 HTTP Request - Get A Random Joke 的隨機笑話)並短暫等待。

  3. 回調: Simulate Event that Hits the 2nd Trigger/Flow n8n 節點(一個 HTTP 請求)使用收到的 resumeUrl,向主要執行的 Wait n8n 節點發送一個 POST 請求作為回調,並將收集到的資料(如笑話)放在 Body 中。此動作會恢復原先的 n8n 工作流執行。

安裝指南

若要使用此複雜的 n8n 工作流範本,請遵循以下步驟:


  1. 匯入: 複製整個 n8n 工作流 JSON 並匯入到您的 n8n 實例中。

  2. 分離: 請注意,此檔案包含兩個流程(主要和次要)。用於正式環境時,標記為「模擬外部獨立程序」的節點(從位置 [280, 1260] 的 Webhook 節點及其後續節點開始)最好剪下並貼到一個獨立的 n8n 工作流實例中。

  3. 網址調整: 由於此模式涉及跨工作流通訊,如果您是遠端運行,則必須確保所有參照 http://127.0.0.1:5678HTTP Request n8n 節點都已更新為您實際的 n8n 實例網址。

  4. 啟用: 啟用主要和次要的 n8n 工作流。

  5. 測試: 透過手動 n8n 觸發執行主要工作流,觀察其拆分和恢復的動作。

節點詳情


  • 點擊『測試工作流』(手動觸發 n8n 觸發器): 啟動此 n8n 工作流的主要執行。

  • Set Primary Execution Context(Set n8n 節點): 儲存初始運行環境項目,包括模擬外部工作流的佔位符 ID,該 ID 將用於下一步驟。

  • HTTP Request - Initiate Independent Process(HTTP Request n8n 節點): 發送請求以啟動次要程序。關鍵配置是傳遞 {{ $execution.resumeUrl }},以允許次要流程回調並恢復主要執行。

  • Wait(Wait n8n 節點): 無限期地暫停主要執行,將流程轉換為等待 Webhook 監聽器,期望收到針對其獨特 resumeUrl 的 POST 回調。

  • Receive Input from External, Independent Process(Webhook n8n 觸發器): 作為次要程序的獨立 n8n 觸發器,捕獲由主要流程傳遞過來的 resumeUrlForWaitingExecution

  • HTTP Request - Resume Other Workflow Execution(HTTP Request n8n 節點): 次要程序的最後一步。它建構一個針對主要執行 resumeUrl 的 HTTP POST 請求,從而恢復原始暫停的 n8n 工作流。它也會將新資料(例如笑話詳情)傳回。

  • This Node Can Access Primary and Secondary(Set n8n 節點): 透過存取初始主要運行環境(Set Primary Execution Context)中的變數,以及由恢復的回調(透過 Wait n8n 節點)傳回的變數,來展示資料範圍。

相關 n8n 工作流程

免費

節點: 7 節點
更新时间: 2025年12月26日
建立者
Hubschrauber
Hubschrauber

Software developer specializing in "back-end plumbing" to connect and sync data between large corporate systems, enabling application distribution/migration, scaling, and containerization. Using n8n for various orchestration tasks both at home and "on the job."

精選*