Automatisation n8n : gestion de workflow avec Redis
- Ce workflow n8n a pour objectif de gérer efficacement l'état d'un processus à l'aide de Redis. Dans un contexte où la gestion des workflows est cruciale pour les entreprises, ce modèle permet d'automatiser la vérification et la mise à jour des statuts d'un workflow, garantissant ainsi une fluidité dans les opérations. Par exemple, il peut être utilisé par des équipes techniques pour s'assurer que les processus s'exécutent sans interruption, en vérifiant régulièrement l'état et en prenant des mesures appropriées en cas de besoin.
- Le workflow commence par un déclencheur programmé qui active le processus à intervalles réguliers. Ensuite, il utilise le nœud 'Get Status' pour vérifier l'état actuel du workflow dans Redis. Si le workflow est en cours d'exécution, le nœud 'Set Running' est activé pour indiquer que le processus est actif. Dans le cas contraire, le flux continue avec le nœud 'Continue if Idle', qui permet de gérer les situations où aucune action n'est nécessaire. En cas d'interaction manuelle, le nœud 'When clicking "Test workflow"' permet de tester le workflow à la demande.
- Les bénéfices de cette automatisation n8n sont multiples : elle réduit les risques d'erreurs humaines, optimise le temps de gestion des workflows et améliore la réactivité des équipes face aux interruptions potentielles. En intégrant ce type de solution, les entreprises peuvent garantir une meilleure performance opérationnelle et une gestion plus fluide de leurs processus.
Workflow n8n Redis, gestion de processus : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Redis, gestion de processus : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"meta": {
"instanceId": "378c072a34d9e63949fd9cf26b8d28ff276a486e303f0d8963f23e1d74169c1b"
},
"nodes": [
{
"id": "3035a456-e783-4ac3-a6b7-1925a81672c1",
"name": "Execute Workflow",
"type": "n8n-nodes-base.executeWorkflow",
"onError": "continueRegularOutput",
"position": [
1980,
440
],
"parameters": {
"options": {},
"workflowId": "4cnnwIeC9Sr5ngGZ"
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "c2d4d0f3-5f84-41de-9a06-4cd5a19e3337",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
860,
440
],
"parameters": {
"rule": {
"interval": [
{
"field": "seconds",
"secondsInterval": 5
}
]
}
},
"typeVersion": 1.2
},
{
"id": "deb51138-4f68-4e8e-8118-d29bd4b79cd6",
"name": "Get Status",
"type": "n8n-nodes-base.redis",
"position": [
1080,
440
],
"parameters": {
"key": "=workflowStatus_{{ $workflow.id }}",
"options": {},
"operation": "get",
"propertyName": "=workflowStatus"
},
"credentials": {
"redis": {
"id": "Hvn2Vf7bGjmFgDr0",
"name": "Redis account"
}
},
"typeVersion": 1
},
{
"id": "73d4e23e-7860-4ac1-8f90-781817e2c98b",
"name": "Set Running",
"type": "n8n-nodes-base.redis",
"position": [
1760,
440
],
"parameters": {
"key": "=workflowStatus_{{ $workflow.id }}",
"value": "running",
"operation": "set"
},
"credentials": {
"redis": {
"id": "Hvn2Vf7bGjmFgDr0",
"name": "Redis account"
}
},
"typeVersion": 1
},
{
"id": "c7bc785f-dbb0-48be-98ef-d0f940be7749",
"name": "Set Idle",
"type": "n8n-nodes-base.redis",
"position": [
2200,
440
],
"parameters": {
"key": "=workflowStatus_{{ $workflow.id }}",
"value": "idle",
"operation": "set"
},
"credentials": {
"redis": {
"id": "Hvn2Vf7bGjmFgDr0",
"name": "Redis account"
}
},
"typeVersion": 1
},
{
"id": "f65c374e-f189-4d43-9b45-53776a74cbf2",
"name": "Continue if Idle",
"type": "n8n-nodes-base.filter",
"position": [
1540,
360
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0c6308f0-1c96-41a9-b821-97031454d555",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.workflowStatus }}",
"rightValue": "idle"
}
]
}
},
"typeVersion": 2
},
{
"id": "45956f6b-52bf-48d2-8c68-0aa1fa338f8f",
"name": "Redis Key exists",
"type": "n8n-nodes-base.if",
"position": [
1300,
440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a844597a-21f9-4869-9abb-4e4b1530931a",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.workflowStatus }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "29896363-cb31-4940-9cef-a993b931484d",
"name": "No Operation",
"type": "n8n-nodes-base.noOp",
"position": [
1540,
520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7a8b0ceb-0c9c-4aa5-9cbb-68a7aee3641f",
"name": "When clicking \"Test workflow\"",
"type": "n8n-nodes-base.manualTrigger",
"disabled": true,
"position": [
860,
740
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d9ab7f18-fe96-4514-a576-49e50575185f",
"name": "Reset to Idle",
"type": "n8n-nodes-base.redis",
"disabled": true,
"position": [
1080,
740
],
"parameters": {
"key": "=workflowStatus_{{ $workflow.id }}",
"value": "idle",
"operation": "set"
},
"credentials": {
"redis": {
"id": "Hvn2Vf7bGjmFgDr0",
"name": "Redis account"
}
},
"typeVersion": 1
},
{
"id": "043e00ca-d191-4b54-b0ec-c14e87a5facb",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
811,
614
],
"parameters": {
"color": 5,
"width": 433,
"height": 300,
"content": "## Troubleshooting\nUnplanned server outage? Need to reset the flag? Disable the schedule trigger, activate these nodes and run the **Reset to Idle** node manually."
},
"typeVersion": 1
},
{
"id": "dc045338-4e41-41f3-b197-704e7560c54a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1696,
320
],
"parameters": {
"color": 7,
"width": 222,
"height": 281,
"content": "This updates the flag, indicating, that the workflow is currently running"
},
"typeVersion": 1
},
{
"id": "5b8dae2f-c2cf-4e16-b4a2-bc97bb64b9e0",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
810.8170310701956,
320
],
"parameters": {
"width": 205.18296892980436,
"height": 280,
"content": "## Set Interval\nDefine how frequently the main workflow should run."
},
"typeVersion": 1
},
{
"id": "d55419d3-84e4-4b73-ae4c-a719d94f9bae",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1248,
286
],
"parameters": {
"color": 7,
"width": 445,
"height": 382,
"content": "If the flag stored in Redis already exists and indicates, that the worklow is still running, another execution will be prevented. In that case this workflow ends here."
},
"typeVersion": 1
},
{
"id": "55ab702d-0feb-4d13-a42c-f9aed6d4389d",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1920,
320
],
"parameters": {
"width": 218,
"height": 281,
"content": "## Set Workflow ID\nSet the ID of the main workflow which should be executed\n"
},
"typeVersion": 1
},
{
"id": "7d469990-d3d7-41a1-9a59-7fcf76472342",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1020,
320
],
"parameters": {
"color": 7,
"width": 222,
"height": 281,
"content": "This checks for a dynamic flag (containing the workflow ID) which represents if the workflow is currently running."
},
"typeVersion": 1
},
{
"id": "0d96a5e4-40a2-4abf-96be-7e17c187bc3d",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2140,
320
],
"parameters": {
"color": 7,
"width": 222,
"height": 281,
"content": "This updates the flag, indicating, that the workflow is currently idle"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Get Status": {
"main": [
[
{
"node": "Redis Key exists",
"type": "main",
"index": 0
}
]
]
},
"Set Running": {
"main": [
[
{
"node": "Execute Workflow",
"type": "main",
"index": 0
}
]
]
},
"No Operation": {
"main": [
[
{
"node": "Set Running",
"type": "main",
"index": 0
}
]
]
},
"Continue if Idle": {
"main": [
[
{
"node": "Set Running",
"type": "main",
"index": 0
}
]
]
},
"Execute Workflow": {
"main": [
[
{
"node": "Set Idle",
"type": "main",
"index": 0
}
]
]
},
"Redis Key exists": {
"main": [
[
{
"node": "Continue if Idle",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get Status",
"type": "main",
"index": 0
}
]
]
},
"When clicking \"Test workflow\"": {
"main": [
[
{
"node": "Reset to Idle",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Redis, gestion de processus : pour qui est ce workflow ?
Ce workflow s'adresse aux équipes techniques et aux responsables de projets dans les entreprises de taille moyenne à grande, qui cherchent à optimiser la gestion de leurs processus. Un niveau technique intermédiaire est recommandé pour la mise en œuvre et la personnalisation de ce workflow.
Workflow n8n Redis, gestion de processus : problème résolu
Ce workflow résout le problème de la gestion inefficace des statuts de workflow, souvent source de confusion et de retards. En automatisant la vérification et la mise à jour des états via Redis, il élimine les pertes de temps liées aux interventions manuelles et réduit le risque d'erreurs. Les utilisateurs bénéficient ainsi d'une visibilité claire sur l'état de leurs processus, ce qui leur permet de réagir rapidement en cas de besoin.
Workflow n8n Redis, gestion de processus : étapes du workflow
Étape 1 : Le workflow est déclenché selon un calendrier défini grâce au nœud 'Schedule Trigger'.
- Étape 1 : Il vérifie l'état actuel du workflow avec le nœud 'Get Status'.
- Étape 2 : Si le workflow est actif, il passe au nœud 'Set Running' pour indiquer qu'il est en cours.
- Étape 3 : Si le workflow est inactif, le nœud 'Continue if Idle' permet de gérer cette situation sans action nécessaire.
- Étape 4 : En cas de test manuel, le nœud 'When clicking "Test workflow"' permet d'exécuter le workflow à la demande.
- Étape 5 : Enfin, le nœud 'Reset to Idle' remet le système à l'état inactif si nécessaire.
Workflow n8n Redis, gestion de processus : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez ajuster les paramètres du nœud 'Schedule Trigger' pour définir la fréquence des vérifications. Modifiez également les clés utilisées dans les nœuds Redis pour correspondre à votre architecture de données. Si vous souhaitez intégrer d'autres outils, envisagez d'ajouter des nœuds API pour interagir avec des services externes. Assurez-vous de sécuriser l'accès à votre instance Redis pour protéger vos données. Enfin, surveillez l'exécution du workflow via les logs d'activité pour optimiser son fonctionnement.