Arrea.Monitor (Arrea v1.0.0)

Copy Markdown View Source

Global monitor for the Arrea engine.

Responsible for:

  • Registering and updating worker state
  • Notifying worker completion
  • Managing subscriptions to engine events
  • Providing aggregate statistics for workers, tasks, and errors

Summary

Functions

Especificacion de hijo para el arbol de supervision.

Obtiene el estado actual del monitor.

Obtiene estadisticas resumidas del Engine.

Registra un worker en el monitor.

Inicia el Monitor como GenServer con nombre Elixir.Arrea.Monitor.

Suscribe el proceso actual a eventos del Engine.

Cancela la suscripcion del proceso actual.

Actualiza el estado de un worker.

Notifica que un worker ha terminado.

Functions

child_spec(init_arg)

@spec child_spec(keyword()) :: map()

Especificacion de hijo para el arbol de supervision.

get_state()

@spec get_state() :: map()

Obtiene el estado actual del monitor.

get_stats()

@spec get_stats() :: {:ok, map()}

Obtiene estadisticas resumidas del Engine.

register_worker(worker_id, state)

@spec register_worker(any(), map()) :: :ok

Registra un worker en el monitor.

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()

Inicia el Monitor como GenServer con nombre Elixir.Arrea.Monitor.

subscribe()

@spec subscribe() :: :ok

Suscribe el proceso actual a eventos del Engine.

unsubscribe()

@spec unsubscribe() :: :ok

Cancela la suscripcion del proceso actual.

update_worker(worker_id, updates)

@spec update_worker(any(), map()) :: :ok

Actualiza el estado de un worker.

worker_finished(worker_id, status, duration_ms)

@spec worker_finished(any(), atom(), integer()) :: :ok

Notifica que un worker ha terminado.