子工作流程執行開始但無節點運行(0 ms,空 runData)— n8n 2.20.7-exp.0

背景

我有一個由 3 個 n8n 工作流程組成的鏈:

  • main — 生成組合、循環、每個項目調用 intermediaire
  • intermediaire — 通過 Execute Workflow Trigger 接收項目、通過 Loop Over Items 批處理、每個批次通過 Execute Workflow 節點調用 sub/sub
  • sub/sub — 通過 Execute Workflow Trigger 接收項目、通過 Code → Convert to File → Gemini → Formatter → Airtable Create 處理

鏈 main → intermediaire 運作正常。鏈 intermediaire → sub/sub 不運作。

症狀

當 intermediaire 調用 sub/sub 時,會建立 sub/sub 的執行(在「Executions」標籤中可見,狀態:success,模式:integrated),但:

  • 持續時間:約 20 毫秒
  • runData:空的 {}(沒有執行任何節點,甚至觸發器也沒有)
  • nodeExecutionStack:空的
  • 然而父工作流程中的 Execute Workflow 節點在其輸出中顯示 1 個項目

使用釘選數據手動執行 sub/sub 完美運作(約 3.5 秒,所有節點都如預期執行)。只有在從父工作流程調用時才會出現此錯誤。

我已嘗試的方法

  1. 禁用 sub/sub 觸發器上的型別輸入架構(inputSource: "passthrough")→ 仍然是空的。
  2. 刪除並重新建立 Execute Workflow Trigger 節點 → 結果相同。
  3. 升級 n8n 到最新版本 → 結果相同。
  4. 直接通過 REST API 修補工作流程 JSON,強制 inputSource: "passthrough" 並刪除我最初懷疑的 events 欄位(打字錯誤 "worklfow_call")。API GET 傳回清理後的版本,但執行快照仍然嵌入舊/錯誤的參數 — 這意味著引擎從與我 PUT 的內容不同的存儲副本讀取。
  5. 驗證姊妹工作流程 intermediaire(運作正常)的快照具有完全相同的內部值 events: "worklfow_call" — 因此該欄位不是錯誤。

運作中和失敗工作流程之間的關鍵差異

intermediaire(運作) sub/sub(失敗)
inputSource workflowInputs(型別架構) passthrough
父工作流程的 Execute Workflow 對應 defineBelow 具有型別值 defineBelow 具有型別值

父工作流程的 Execute Workflow 節點使用 mappingMode: "defineBelow" 和一個 schema: [...] 宣告 7 個型別輸入(codeNorme、codeElement、recordId、paramValues、pdfUrl、categorie、data)。

我目前的假設:當父工作流程通過 defineBelow 型別架構發送數據時,子工作流程觸發器也必須處於 inputSource: workflowInputs 模式,並帶有匹配的架構。將其設置為 passthrough 會導致項目在觸發時被無聲地丟棄。

我剛剛通過 API 使用 inputSource: "workflowInputs" 和匹配的架構修補了 sub/sub 的觸發器。測試中。

問題

  1. 這個假設正確嗎?passthrough 與發送 defineBelow 型別對應的父工作流程不相容嗎? 文件不清楚。
  2. 為什麼 API GET 為觸發器顯示一組參數,但執行快照嵌入不同的參數?是否有伺服器端快取或規範化層?
  3. 有沒有辦法讓子工作流程觸發器接受任何上游輸入,無論父工作流程如何對應它(真正的萬用字元)?
  4. 有沒有推薦的模式來避免這種子工作流程長鏈中觸發器/呼叫者架構不同步?

環境

  • n8n 版本:2.20.7-exp.0(自託管)(此錯誤僅在我回到我的 Hostinger 舊版本後出現,因為我不小心刪除了 n8n 和我的工作流程,我不知道這是否相關)
  • 觸發器節點:n8n-nodes-base.executeWorkflowTrigger,typeVersion 1.1
  • 呼叫者節點:n8n-nodes-base.executeWorkflow,waitForSubWorkflow: false
  • 二進位數據模式:filesystem

歡迎任何指正 — 我已經為此花了好幾個小時。

@Armand_Ferveur
退出實驗版本並使用版本 2.21.5(穩定版)

我仍然有同樣的問題 :smiling_face_with_tear:

" (自我託管) (該錯誤僅在我回到 Hostinger 的舊版本後才出現,因為我不小心刪除了 n8n 和我的工作流程,不知道這是否相關)"

@Armand_Ferveur ,請更仔細地查看這一點,重新啟動並重新執行工作流程,在最新版本中。我建議您今後不要使用實驗版本。

是的,謝謝。問題出在「執行子工作流程」節點上。我把它刪除並重新建立,現在又可以正常工作了。

:tada: :partying_face:
很高興聽到這個消息,盡管放心我們會支持你!