Novedad: el cortafuegos de IA supervisa cada módulo y explica cada incidente con palabras sencillas. Vea cómo funciona

Protecciones y mensajes fallidos

Las protecciones de flujos que pausan bucles y flujos con fallos, la parada de emergencia, los mensajes fallidos y su reproducción, y las alertas de automatización.

Los flujos se ejecutan sin supervisión, así que Hermetry los protege: un flujo atrapado en un bucle o que falla una y otra vez se pausa por sí mismo, los efectos secundarios tienen limitada su frecuencia, y los mensajes que no se pudieron ejecutar se guardan como mensajes fallidos para que los reproduzcas. Esta página explica cada protección y qué haces cuando una se activa.

Protecciones de flujos

ProtecciónValor predeterminadoQué ocurre
Ejecuciones por minuto6.000 ejecuciones de un flujo en un minuto deslizanteEl flujo se pausa por sí mismo: se sospecha un bucle
Ejecuciones fallidas100 ejecuciones fallidas seguidasEl flujo se pausa por sí mismo
Ejecuciones simultáneas16 ejecuciones de un flujo al mismo tiempoLas demás ejecuciones esperan (como máximo 1.000 por flujo; las más antiguas se descartan a partir de ese número)
Abanico de salida100 mensajes enviados por un bloque para una misma entradaEl resto de mensajes de ese bloque para esa entrada se descartan
Tamaño del mensaje256 KiB por mensajeEl mensaje se rechaza (msg_too_big)
Protección contra bucles4 saltos de eventos y Ejecutar flujo entre flujos; 512 pasos en una ejecuciónLa cadena se corta
Reintentos agotadosComo máximo 5 intentos de una llamada externaLa entrada pasa a ser un mensaje fallido, salvo que el flujo capture el error
Mensajes repetidosUn mensaje de dispositivo visto de nuevo en menos de 60 segundosSe confirma sin ejecutar
Demasiado antiguoUn mensaje que espera más de 5 minutosNo se ejecuta (los mensajes de dispositivo sí se ejecutan en su raíz, marcados como tardíos)
Comandos de dispositivo por minuto30 comandos y ajustes desde flujos a un mismo dispositivoEl comando se rechaza (limit)
Notificaciones repetidasLa misma notificación a la misma persona en menos de 10 minutosEsa persona queda excluida

Tu plan puede establecer otros valores dentro de límites fijos. Cada vez que una protección actúa, se cuenta: en la fila del flujo (Limitado · protección), en el editor («Una protección de flujos actuó sobre este flujo: …», con los bloques marcados) y en la tarjeta de uso (Protecciones de flujos este mes). Consulta Límites de flujos.

Un flujo que se pausó por sí mismo

Un flujo pausado no inicia ninguna ejecución hasta que se reanuda. Su fila indica el motivo:

  • «Se pausó por sí mismo: se ejecutó más veces en un minuto de las que permite este espacio de trabajo, por lo que se sospecha un bucle.»
  • «Se pausó por sí mismo: demasiadas de sus ejecuciones fallaron seguidas.»

Los gestores de automatización reciben una alerta Flujo pausado por sí mismo. Qué hacer:

  1. Abre el flujo y revisa Actividad > Errores y las Ejecuciones de los últimos minutos.
  2. Corrige la causa: rompe el bucle (un flujo que se dispara a sí mismo, o un disparador de Estado que observa un bloque que cambia su estado en cada mensaje), o corrige la llamada que falla.
  3. Despliega y luego pulsa Reanudar en el menú de la fila del flujo o en el aviso del editor. Una pausa conserva la memoria del flujo y sus mensajes en espera.

Los flujos raíz nunca se pausan automáticamente

Un flujo raíz almacena los datos de cada dispositivo al que atiende, por lo que está exento de la pausa automática y de Ejecuciones simultáneas. Si una raíz falla con demasiada frecuencia, los propietarios y administradores de la organización reciben la alerta crítica Flujo raíz no pausado («Este flujo raíz no se pausó, porque almacena los datos de cada dispositivo al que atiende…»), como máximo una vez cada 6 horas por flujo. Actúa cuanto antes: las ejecuciones fallidas de una raíz pueden significar que las lecturas no se están guardando.

La parada de emergencia

La parada de emergencia pausa todos los flujos en ejecución de la organización, en todos los hosts, a la vez, incluidas las raíces.

  1. En Automatización, abre el menú de la cabecera y selecciona Detener todos los flujos.
  2. Lee: «Todos los flujos en ejecución de este espacio de trabajo, en todos los hosts, quedan pausados a la vez: los mensajes de dispositivo, las programaciones, los webhooks y los eventos no inician ninguna ejecución hasta que los reanudes. Las ejecuciones en curso terminan. Un flujo raíz también se pausa, así que los datos de los dispositivos no se almacenan mientras tanto.»
  3. Marca «Entiendo que nada se ejecuta hasta que los flujos se reanuden.», escribe STOP y confirma.

Un aviso muestra «Parada de emergencia: n flujos están pausados…». Para terminarla, selecciona Reanudar los flujos: cada flujo que pausó la parada vuelve a ejecutarse; un flujo que se había pausado por sí mismo sigue pausado. Ambas acciones quedan registradas en auditoría.

Úsala solo cuando los flujos estén causando daño (enviando comandos erróneos, saturando un sistema de un socio). Mientras esté activa, los datos de los dispositivos no se almacenan.

Mensajes fallidos

Un mensaje que la plataforma no pudo ejecutar se guarda como mensaje fallido (una carta muerta). Ábrelos desde el menú de la cabecera de la lista de flujos (Mensajes fallidos, todos los flujos de un host) o en el editor (Mensajes fallidos, los mensajes dirigidos a este flujo).

MotivoSignificado
Fallo continuoEntregado varias veces sin terminar
Una llamada falló en todos los reintentosUna llamada externa agotó sus reintentos y el flujo no capturó el error
Esperó demasiadoUna llamada de webhook o un temporizador con nombre esperó más que su tiempo de vida (tras una caída). «Repróducelo para ejecutarlo ahora.»
Dejado sin terminar por un nuevo despliegueSu ejecución no terminó antes de que se sustituyera la versión en la que se ejecutaba
Cola demasiado largaDemasiados mensajes de la organización estaban en espera
No se pudo leerLa entrada almacenada está dañada
Rechazado por el hostEl host no lo aceptó

Cada fila muestra Visto por primera vez, Motivo, Error e Intentos. Ver muestra la entrada almacenada (solo a personas que puedan depurar).

  • Reproducir vuelve a poner el mensaje en la cola con sus identificadores originales. «Su ejecución puede haber hecho ya parte de su trabajo: las llamadas, mensajes o escrituras que realizó pueden volver a ocurrir.» Los bloques que llaman al exterior envían la misma clave de idempotencia, de modo que un receptor que elimina duplicados ve una sola llamada.
  • Descartar lo elimina. Después no se puede reproducir.

Cada host guarda sus propios mensajes fallidos. Por defecto se conservan como máximo 10.000; a partir de ahí se eliminan los más antiguos. Al 80 % los gestores reciben la alerta Mensajes fallidos casi llenos, como máximo una vez cada 6 horas.

Un mensaje de dispositivo tardío en una raíz nunca es un mensaje fallido: se almacena. Una marca de programación tardía simplemente se omite.

Alertas

Errores y alertas (menú de la cabecera de la lista de flujos) muestra las alertas de automatización de las últimas 6 horas, una fila por flujo desplegado con sus errores en 24 horas, los mensajes fallidos de hoy y el nivel de registro, los errores más frecuentes de 7 días y los totales por día.

La Regla de alerta decide a quién se avisa y cuándo:

CampoSignificado
Enviar alertasActivado o desactivado
Errores por minuto1 a 10.000
Minutos seguidos1 a 19
FlujosNinguno marcado = todos los flujos
EventosNinguno marcado = todos los tipos de alerta
DestinatariosUn identificador de usuario miembro por línea, como máximo 100. Vacío: las personas que pueden gestionar la automatización. No se aceptan direcciones de correo electrónico.

Tipos de alerta: Muchos errores, Llamadas pausadas (circuito abierto), Efecto secundario limitado, El bloque no arranca, Mensajes fallidos casi llenos, Flujo pausado por sí mismo y Flujo raíz no pausado. Flujo raíz no pausado se envía siempre, diga lo que diga la regla, a los propietarios y administradores y a los destinatarios de la regla.

Llamadas pausadas (circuito)

Un bloque cuyas llamadas externas siguen fallando (un endpoint HTTP caído) pausa sus llamadas durante un tiempo; sus mensajes fallan con circuit_open mientras tanto. Los eventos del flujo muestran Llamadas pausadas (circuito abierto) y, más tarde, Llamadas reanudadas (circuito cerrado). Corrige el receptor; el bloque se recupera por sí solo.