I want to pass arguments from workflow A to workflow B for execution.
I also want to change the arguments and execute it a total of 10 times every minute.
Workflow B performs heavy processing and takes 30 seconds to 1 minute to complete.
If we use a webhook to invoke Workflow B, 10 processes will be executed at the same time and some processes will fail.
To prevent this, we want to execute Workflow B every minute from Workflow A.
There are three solutions.
Please let me know how to do any of them.
using a webhook to invoke workflow B every minute
how to invoke workflow B every minute using something other than a webhook
If you want the HTTP Request node in your example to run in intervals of one minute for one item at a time you can utilize the Loop Over Items (formerly called Split In Batches) node combined with the Wait node. This approach will only send a HTTP Request to your webhook once every minute for a total of 10 minutes (and will also work for all other nodes):
how to invoke workflow B every minute using something other than a webhook
The approach above ensures that only one item is processed at a time. So unless the amount of data exceeds the memory available to your n8n cloud instance you can also replace the HTTP Request node with the logic from your workflow B. n8n would still process only one item at a time.
Thank you very much!
The first method solved the problem beautifully.
The version was old and didn’t have Loop Over Items, but I was able to use Split In Batches.