Saltar al contenido principal

Flujo de Datos

Este documento proporciona diagramas detallados de extremo a extremo para cada camino de ejecución en MIH.


Camino 1: Llamada Directa a la API MIH (Síncrono)

Usado cuando un plugin llama a mih::request() directamente y necesita la respuesta inmediatamente.


Camino 2: Event Bridge (Asíncrono)

Usado cuando un administrador crea una regla mapeando un evento de Moodle a un servicio.

Fase A: Captura del Evento (Síncrono, en la petición del usuario)

Fase B: Despacho del Evento (Asíncrono, en el cron de Moodle)


Camino 3: Consumo de Respuestas AMQP (Programado)

Usado cuando un servicio envía respuestas de vuelta via una cola de RabbitMQ.


Camino 4: Máquina de Estados del Circuit Breaker


Resumen de Escrituras en Base de Datos

OperaciónTablas Escritas
Servicio creadosvc, cb (estado inicial)
Petición realizadalog, cb (actualización de estado)
Regla de evento coincidentetask_adhoc (cola)
Tarea despachada exitosamentelog, cb
Tarea fallida (< 5 intentos)log, cb, task_adhoc (custom_data actualizado)
Tarea fallida permanentementelog, cb, dlq
DLQ reenviadatask_adhoc (nueva tarea)
Circuito reseteadocb
Log purgadolog (filas antiguas eliminadas)