Ir al contenido

Host de Procesos

Los hosts de procesos gestionan la ejecución de procesos Lua usando un planificador de work-stealing.

Cada host planifica procesos independientemente. La carga no se distribuye entre hosts automáticamente.
TipoDescripción
process.hostHost de ejecución de procesos con planificador
- name: main_host
kind: process.host
host:
workers: 8
queue_size: 1024
local_queue_size: 256
lifecycle:
auto_start: true
CampoTipoPor DefectoDescripción
workersintNumCPUGoroutines worker
queue_sizeint1024Capacidad de cola global
local_queue_sizeint256Tamaño de deque local por worker

El planificador usa work-stealing: cada worker tiene un deque local, y los workers inactivos roban de la cola global u otros workers. Esto balancea la carga automáticamente.

  • Workers ejecutan procesos concurrentemente
  • Cola global contiene procesos pendientes cuando todos los workers están ocupados
  • Colas locales reducen contención manteniendo el trabajo cerca de los workers

Los hosts de procesos ejecutan entradas de estos tipos:

TipoDescripción
process.luaProceso Lua basado en fuente
process.lua.bcBytecode Lua precompilado
process.wasmProceso WebAssembly (experimental)

Los procesos se ejecutan independientemente con su propio contexto, se comunican vía mensajes, y son supervisados para tolerancia a fallos.