Describe the problem/error/question
`
I pursue a way to perform parallel operations with N8N. So far, I know a @hubschrauber’s version, with wait node on callback mode. His approach is flaw-prone because the interval between node trigger and reactivation may have callback requests.
My implementation follows a redis approach: I implement redis storage of process results readiness (For now, it saves the result as well, but we can improve it latter for medium-sized payloads).
I pasted both big and minimal examples, as well as a example workflow to be triggered: the parallel manager workflow fails to trigger a Sub-workflow loop (also fails to trigger item by item when I set the node “Execute Sub-workflow” to execute for each item, without loop).
You can test with command below. Firstly copy-paste and activate, separately, both workflows for requests management and get-post workflow, both available on section ‘Please share your workflow’.
export PROD_WEBHOOK_PATH=https://n8n.example.com/webhook-test
export TEST_WEBHOOK_PATH=https://n8n.webhook.example.com/webhook
time curl -X POST "$TEST_WEBHOOK_PATH/request" -H "Content-Type: application/json" -d '{
"nodes": [
{ "id": 1, "method": "GET", "url": "$PROD_WEBHOOK_PATH/get-subworkflow", "depends_on": [] },
{ "id": 2, "method": "POST", "url": "$PROD_WEBHOOK_PATH/post-subworkflow", "data": { "a": 1, "b": 2, "c": 3 }, "depends_on": [1]},
{ "id": 3, "method": "POST", "url": "$PROD_WEBHOOK_PATH/post-subworkflow", "data": { "a": 1, "b": 2, "c": 3 }, "depends_on": [1]}
]
}'
Below an image of the workflow in its full glory:
What is the error message (if any)?
Please share your workflow
Since the workflow is really big for this text field, I stored it on github: https://raw.githubusercontent.com/alloyha/assets/refs/heads/main/n8n/parallel_manager.json
I also implemented a minimal example with the same architectural logic, but it works as I expected for my demay:
Information on your n8n setup
- n8nVersion: 1.80.5
- platform: docker (self-hosted)
- nodeJsVersion: 20.18.3
- database: postgres
- executionMode: scaling
- concurrency: -1
- license: enterprise (production)
- consumerId: dee85e98-a119-41f3-922a-6c882db3b7dc