Pular para o conteúdo

Host de Processos

Hosts de processos gerenciam a execução de processos Lua usando um agendador de roubo de trabalho.

Cada host agenda processos independentemente. A carga não é distribuída entre hosts automaticamente.
TipoDescrição
process.hostHost de execução de processos com agendador
- name: main_host
kind: process.host
host:
workers: 8
queue_size: 1024
local_queue_size: 256
lifecycle:
auto_start: true
CampoTipoPadrãoDescrição
workersintNumCPUGoroutines workers
queue_sizeint1024Capacidade da fila global
local_queue_sizeint256Tamanho do deque local por worker

O agendador usa roubo de trabalho: cada worker tem um deque local, e workers ociosos roubam da fila global ou de outros workers. Isso balanceia a carga automaticamente.

  • Workers executam processos concorrentemente
  • Fila global armazena processos pendentes quando todos os workers estão ocupados
  • Filas locais reduzem contenção mantendo trabalho próximo aos workers

Hosts de processos executam entradas destes tipos:

TipoDescrição
process.luaProcesso Lua baseado em código fonte
process.lua.bcBytecode Lua pré-compilado
process.wasmProcesso WebAssembly (experimental)

Processos executam independentemente com seu próprio contexto, comunicam via mensagens, e são supervisionados para tolerância a falhas.