Prevent simultaneous workflow executions with Redis

Go to Workflow
1,484 views
Built by Mario Mario
Created on June 05, 2026

Description

Purpose
This ensures that executions of scheduled workflows do not overlap when they take longer than expected.

How it works
This is a separate workflow which monitors the execution of the main workflow
Stores a flag in Redis (key dynamically named after workflow ID) which indicates if the main workflow is running or idle
The TTL setting ensures that the flag will also be removed automatically when the workflow hits the defined timeout
Only calls the main workflow if the last execution has finished

Setup
Update the interval in the Schedule Trigger
Turn your main workflow into a sub-workflow by adding an Execute Workflow Trigger
Set a reasonable timeout for that sub-workflow
Set the same timeout (seconds) in the TTL option of the Set Flag node
Select the right sub-workflow in the Execute Workflow node
Publish the workflow

Customization
Duplicate the Execute Workflow node and select another workflow you would like to run sequentially, then replace the placeholder node underneath with it
Make sure to set a timeout for that other workflow as well and then update the TTL value in the Redis node to the sum of all workflow timeouts
You can add as many workflow calls as you want, just make sure they are neatly organized below each other in one line to guarantee the right execution order

Nodes Used (1)

Redis
n8n-nodes-base.redis