Gestor de Tareas Paralelas Asíncronas con Nodos de Espera - Flujo de trabajo de n8n

Aprende a crear un flujo de trabajo (workflow) avanzado y asíncrono en n8n utilizando las capacidades de los nodos Execute Workflow y Wait. Esta plantilla es fundamental para gestionar procesos paralelos que tardan mucho en ejecutarse en n8n.

Vista previa del flujo

¿Listo para automatizar?

Descarga esta plantilla de flujo de trabajo de n8n y comienza a usarla al instante.

¿Para quién es ideal?

Usuarios avanzados de n8n: Personas que necesitan gestionar rutas de ejecución complejas y no lineales.
Integradores de Sistemas: Desarrolladores que ejecutan procesos por lotes (batch) o trabajos ETL que implican largos tiempos de espera de sistemas externos.
Optimizadores de Rendimiento: Aquellos que buscan mejorar el rendimiento (throughput) de su flujo de trabajo de n8n ejecutando subtareas de forma concurrente.
Especialistas en Automatización con n8n: Usuarios que exploran las capacidades avanzadas del nodo Wait de n8n y las llamadas asíncronas.

Descripción general

Al tratar con operaciones de larga duración —como el procesamiento de vídeo, análisis complejos de datos (data crunching) o llamadas a APIs que requieren 'polling'—, un flujo de trabajo lineal estándar de n8n puede bloquearse, provocando tiempos de espera agotados (timeouts) o un consumo excesivo del tiempo de ejecución.

Este flujo de trabajo especializado de n8n soluciona esto utilizando un patrón asíncrono.

Esta robusta plantilla de n8n utiliza el nodo Execute Workflow de n8n para lanzar subtareas paralelas (workers) y el potente nodo Wait de n8n para pausar el orquestador principal hasta que dichas subtareas finalicen e informen de vuelta a través de un webhook único. Esto permite que la ejecución principal espere de forma eficiente, gestionando numerosos hilos paralelos, maximizando el uso de recursos y evitando timeouts. Si buscas plantillas fiables de n8n para automatización de alto rendimiento, este diseño asíncrono es crucial.

Cómo funciona

Este flujo de trabajo de n8n opera en dos modos distintos: el Orquestador (Flujo Principal) y el Worker (Sub-Flujo), aprovechando llamadas recursivas a la misma definición del flujo de trabajo de n8n.

Flujo del Orquestador (Inicio y Recopilación)


  1. Trigger de Inicio (Start): El proceso comienza con el trigger manual Start de n8n.

  2. Ejecución Paralela: El flujo de trabajo de n8n se bifurca inmediatamente, utilizando dos nodos Execute Workflow (Call 1 y Call 2). Es crucial que el parámetro waitForSubWorkflow esté configurado como false, lo que hace que las llamadas no bloqueen (sean asíncronas).

  3. Pasar Detalles de Continuación: Cada llamada pasa parámetros específicos (duración wait y un sufijo webhook único) al worker. La URL del webhook es la resumeUrl de la ejecución principal de n8n, permitiendo que el worker devuelva la llamada.

  4. Espera de Resultados: El flujo principal de n8n llega entonces a dos nodos Wait dedicados (Wait for Webhook 1 y Wait for Webhook 2). La ejecución se detiene indefinidamente (o hasta un límite establecido) hasta que los flujos worker llamen con éxito a los endpoints de webhook correspondientes (/call1 y /call2).

  5. Fusión y Resumen: Una vez que ambas tareas paralelas han reportado sus resultados, el nodo Merge de n8n combina las cargas útiles (payloads) y el nodo Sum calcula el resultado total de las operaciones paralelas.

Flujo del Worker (Simulación de Tarea e Informes)


  1. Trigger del Worker: El sub-flujo comienza a través del trigger Call Entry Point de n8n (un Execute Workflow Trigger) cuando es llamado por el Orquestador.

  2. Tarea Larga Simulada: El nodo Wait Seconds de n8n pausa el flujo durante la duración solicitada por el Orquestador (ej. 5 segundos para Call 1, 3 segundos para Call 2), simulando la tarea de larga duración.

  3. Devolución de Llamada: El nodo Request Webhook utiliza la URL de webhook de entrada para enviar una solicitud HTTP de vuelta al nodo Wait del flujo principal de n8n. Esta llamada lleva el resultado calculado, indicando al flujo principal que continúe.

Guía de instalación

Para desplegar esta plantilla de n8n y utilizar esta técnica de procesamiento paralelo, sigue estos pasos:


  1. Importar: Copia los datos JSON proporcionados e impórtalos directamente en tu instancia de n8n a través del menú 'Nuevo' > 'Importar desde JSON'. Esta única importación define tanto la lógica del Orquestador como la del Worker.

  2. Verificación de Autorreferencia: Dado que este flujo de trabajo de n8n se llama a sí mismo recursivamente, asegúrate de que el parámetro workflowId en los nodos Execute Workflow de Call 1 y Call 2 apunte al ID del flujo de trabajo recién importado. Debería detectar la autorreferencia automáticamente, pero verifícalo si la ejecución falla.

  3. Credenciales: Este flujo de trabajo específico de n8n utiliza nodos base de n8n (Manual Trigger, Wait, Execute Workflow, HTTP Request) y no requiere credenciales externas.

  4. Ejecución: Ejecuta el trigger Start de n8n manualmente. Observa cómo el flujo se divide, ejecuta las tareas temporizadas de forma asíncrona y luego espera a que los webhooks reanuden y finalicen la suma.

Detalles del nodo

Start (Trigger de n8n): Un trigger Manual Trigger de n8n utilizado únicamente para iniciar el flujo principal del orquestador de n8n con fines de prueba.
Call Entry Point (Trigger de n8n): El Execute Workflow Trigger dedicado que gestiona las llamadas entrantes desde el flujo principal. Acepta los parámetros wait (número) y webhook (cadena) necesarios para la tarea del worker.
Call 1 / Call 2 (Nodo Execute Workflow de n8n): Estos nodos son cruciales para la paralelización. Llaman al mismo flujo de trabajo de n8n (esta plantilla) pero están configurados con waitForSubWorkflow: false para asegurar la ejecución asíncrona. Pasan tiempos wait únicos y la URL completa del webhook de reanudación.
Wait Seconds (Nodo Wait de n8n): Ubicado en la ruta del Worker, este nodo de n8n pausa la ejecución durante una cantidad de tiempo dinámica, definida por el parámetro de entrada ={{ $('Call Entry Point').item.json.wait }}.
Request Webhook (Nodo HTTP Request de n8n): El paso final del flujo del Worker. Solicita dinámicamente la
resumeUrl (={{ $('Call Entry Point').item.json.webhook }}) proporcionada por el Orquestador, transportando la carga útil del resultado para reanudar el flujo principal de n8n.
Wait for Webhook 1 / Wait for Webhook 2 (Nodo Wait de n8n): Ubicados en la ruta del Orquestador, estos nodos detienen la ejecución, esperando específicamente una llamada de webhook coincidente (usando un sufijo como /call1 o /call2`) para entregar el resultado asíncrono antes de que el flujo de trabajo de n8n pueda continuar.


  • Merge / Sum (Nodo de n8n): Nodos de agregación estándar utilizados para combinar los resultados recibidos por los nodos Wait y calcular el total final, demostrando la correcta recopilación de datos asíncronos.

Flujos de trabajo de n8n relacionados

Gratis

Nodos: 8 Nodos
Actualizado: Diciembre 26 2025
Ver todo

Presentado*