Error al comunicar con Azure Site

Describe el problema/error/pregunta

Hola,
Mi equipo construyó un sitio web alojado en Azure. Es esencialmente una interfaz de usuario que, cuando se solicita, ejecuta un flujo de trabajo de n8n y devuelve el resultado. Sin embargo, si el flujo de trabajo de n8n tarda más de 2 minutos en ejecutarse, el sitio muestra un error. El flujo de trabajo de n8n en sí no tiene problema ejecutándose independientemente durante más de 2 minutos, solo tiene un problema cuando se comunica con el sitio. ¿Alguien tiene ideas sobre cómo solucionarlo? Avísame si necesitas más información.

Hola @CSIS_Dev

El problema es que Azure tiene un «temporizador» incorporado para todas las conexiones web. Cuando tu sitio web le pide a n8n que haga algo, Azure mantiene la línea abierta y espera una respuesta. Sin embargo, si n8n tarda más de dos minutos en responder, Azure asume que algo ha salido mal y cierra automáticamente la conexión para ahorrar recursos, por lo que tu sitio muestra un error aunque n8n siga funcionando.

No puedes solucionar esto fácilmente solo aumentando el temporizador, ya que estos límites están profundamente integrados en cómo Azure gestiona el tráfico de red. Depender de una única conexión de larga duración es inestable porque cualquier pequeña fluctuación en la conexión a internet durante esos dos minutos también causaría que todo el proceso falle.

La mejor solución es cambiar la comunicación entre tu sitio y n8n. En lugar de que el sitio espere en la línea por la respuesta final, n8n debería responder inmediatamente con un mensaje que diga «He comenzado el trabajo; aquí está tu ID de seguimiento». Tu sitio web puede entonces mostrar un indicador de carga y verificar cada pocos segundos si el trabajo está terminado, permitiendo que el resultado se entregue sin nunca alcanzar ese límite de dos minutos.

Para implementar esto, en realidad necesitas dos flujos de trabajo separados: uno para activar el trabajo y devolver el ID inmediatamente, y otro para permitir que el sitio web verifique si el trabajo está terminado. Debería verse algo como lo siguiente:

Flujo de trabajo 1: El activador y procesador

Flujo de trabajo 2: El verificador de estado (Punto de consulta)

Bienvenido a la comunidad n8n @CSIS_Dev
te recomiendo este workflow, llámame si tienes dudas.