利用 n8n Webhook 並行觸發多個非同步子流程,並透過穩健的 n8n 節點迴圈模式,同步等待所有任務完成。最適合需要長時間運行的處理程序。
下載此 n8n 工作流程範本並立即開始使用。
需要深入 n8n 內部同時執行長時間任務的自動化開發人員。
尋找用於穩健流程控制和同步的進階 n8n 範本的使用者。
使用 n8n 建立可靠、可擴展的後端處理流程的技術團隊。
任何需要在分散的 n8n 流程執行中實作「全部等待」邏輯的人員。
這個進階 n8n 流程示範了一個管理非同步、平行任務執行的關鍵設計模式。當你有一批需要耗費大量處理時間的項目(例如:報表生成、大量資料轉換)時,依序處理效率太差了。此專用的 n8n 流程模式採用了父子結構,父流程會同時透過 Webhook 呼叫啟動多個獨立的子流程,然後進入一個精密的等待迴圈,其核心是 Webhook Callback Wait n8n 節點。這確保了父流程必須在收到所有已啟動子流程的確認(透過回復 Webhook 回呼)後,才能繼續往下執行。這個 n8n 流程範本對於在 n8n 內建構高併發且高韌性的自動化系統來說,是不可或缺的。
Code n8n 節點來模擬需要平行處理的多筆資料項目。一個 Set n8n 節點會初始化關鍵的狀態變數 finishedSet(一個空陣列),用於追蹤已完成的任務。Split In Batches n8n 節點會迭代模擬的項目。針對每一項,一個 HTTP Request n8n 節點會呼叫獨立子流程執行的 Webhook 端點,並將項目 ID,以及最關鍵的,父流程的唯一回復網址 ($execution.resumeUrl) 作為回呼標頭傳送過去。Webhook n8n 觸發接收請求,會立即回應以防止父流程的 HTTP Request 阻塞,然後模擬所需的處理時間。HTTP Request n8n 節點去呼叫父流程特定的回復 Webhook 位址(從 callbackurl 標頭取得),藉此發出完成訊號並傳遞已完成的項目 ID。If All Finished 條件。如果同步尚未完成,它會停在指定的 Webhook Callback Wait n8n 節點。當收到子流程的回呼回復後,一個 Code n8n 節點會用新完成的項目 ID 來更新 finishedSet 陣列。接著流程會迴圈回到 If All Finished 節點重新檢查計數。finishedSet 中的項目數量與最初派發的總項目數量相符時,父 n8n 流程才會繼續執行到最後一步。parallel-subworkflow-target 的標記為 'Webhook' 的 Webhook 節點及其後續節點開始)必須複製並貼上到一個獨立的新 n8n 流程中。請啟用此子流程。WEBHOOK_URL 環境變數。此 URL 必須是能對外存取子流程公開 Webhook 端點的基礎網址。如果是自行架設,請確保其指向正確的內部服務或網域。 手動觸發: 點擊「測試流程」時。作為啟動父流程執行的初始 n8n 觸發器。
Code 節點: 模擬用於平行處理的多個項目。生成一個包含三個項目(requestIds)的陣列,用以模擬需要平行執行的任務。
Split In Batches 節點: 迭代各個項目。負責管理迭代,確保 HTTP Request n8n 節點針對每個項目都會執行。
Set 節點: 初始化 finishedSet。建立初始狀態變數 finishedSet 作為空陣列,這對於追蹤 n8n 流程中的同步狀態至關重要。
HTTP Request 節點: 透過 Webhook 啟動子流程。這個 n8n 節點會啟動平行子流程的執行。關鍵設定:在 callbackurl 標頭中傳遞父流程獨有的 $execution.resumeUrl。
If 節點: 如果全部完成。這個核心同步 n8n 節點會檢查已完成項目的數量是否等於原始項目數量,以控制流程是暫停還是繼續。
Wait 節點: Webhook Callback Wait(Webhook 回呼等待)。會暫停父 n8n 流程的執行,直到一個特定的外部 Webhook 呼叫命中其專屬的回復端點為止。這充當了同步的屏障。
Code 節點: 更新 finishedSet。流程回復後,這個 n8n 節點會使用 JavaScript 安全地更新並附加來自 Webhook 資料包中新完成的 finishedItemId 到 finishedSet 陣列中追蹤的狀態。
Webhook 節點(子流程): 作為平行任務執行實例的外部 n8n 觸發器(parallel-subworkflow-target)。
HTTP Request 節點(子流程): 呼叫父流程回復。透過呼叫父流程的回復網址來執行關鍵的回呼動作。它使用重試設定(retryOnFail: true,waitBetweenTries: 3000ms),以緩解多個子任務同時完成並嘗試回復父 n8n 流程時可能發生的競速條件(Race Condition)。
使用 Wait n8n 節點與 resumeUrl 回調方法,精通進階的 n8n 工作流設計。無縫管理跨獨立 n8n 執行中的長時間、非同步任務。

使用這個強大的 n8n 工作流程,自動化病患報到流程。它會驗證資料、確認Email、產生QR健康卡、儲存在Google雲端硬碟、將資料記錄到Google試算表,並透過Gmail和Slack發送確認通知。下載這個適用於醫療保健的 n8n 範本。

使用 n8n 自動化 WooCommerce 商品建立流程。讀取 Google 試算表資料,用 GPT-4 和 DALL-E 生成文案和圖片,然後透過這個進階的 n8n 工作流完成上架。

使用此 n8n 工作流程建構一個進階的 RAG 系統。爬取 Paul Graham 的文章,使用 OpenAI 進行嵌入,將資料儲存在 Milvus 中,並透過 n8n 聊天觸發器啟用對話式問答。


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."







































