Documentation
¶
Overview ¶
Package local implementa a execucao de processos no host.
Existe por causa da emenda de 2026-08-31 a secao 3 do plano: o texto original exigia Kubernetes para qualquer linguagem que nao fosse Go, o que inviabilizava desenvolver na propria instancia.
A fronteira e codigo, nao convencao: New recusa-se a construir o executor fora do modo local. Um `run:` sem limite declarado e o risco real — nao o comando.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrForaDoLocal ¶
type ErrForaDoLocal struct{ Env string }
ErrForaDoLocal e devolvido quando se tenta construir o executor fora do modo local. Tipado para poder ser afirmado em teste.
func (ErrForaDoLocal) Error ¶
func (e ErrForaDoLocal) Error() string
type GoExecutor ¶
type GoExecutor struct {
// contains filtered or unexported fields
}
GoExecutor roda tasks Go registradas, dentro do proprio processo.
E o executor da secao 14: sem container, sem pod, sem processo filho. O ganho e justamente esse — uma task Go simples nao paga startup de container, que foi a medida que motivou este projeto (cold start de 38s contra 5s no benchmark que originou o Brevis).
Diferente do ProcessExecutor, NAO ha restricao de ambiente: o codigo aqui foi compilado junto com o binario, entao nao ha superficie de execucao arbitraria.
func NewGoExecutor ¶
func NewGoExecutor(reg *execution.Registry) *GoExecutor
func (*GoExecutor) Execute ¶
func (g *GoExecutor) Execute(ctx context.Context, t execution.TaskExec) (<-chan execution.Event, error)
Execute resolve a task no registry e a roda numa goroutine, transmitindo os eventos.
func (*GoExecutor) Name ¶
func (g *GoExecutor) Name() string
type ProcessExecutor ¶
type ProcessExecutor struct {
// contains filtered or unexported fields
}
ProcessExecutor roda comandos arbitrarios como processos do host.
func New ¶
func New(env string) (*ProcessExecutor, error)
New devolve o executor, ou recusa se o ambiente nao for local.
func (*ProcessExecutor) Cancel ¶
func (p *ProcessExecutor) Cancel(_ context.Context, execID string) error
Cancel interrompe uma execucao em voo.
func (*ProcessExecutor) Execute ¶
func (p *ProcessExecutor) Execute(ctx context.Context, t execution.TaskExec) (<-chan execution.Event, error)
Execute dispara o comando e devolve o canal de eventos. O canal fecha quando o processo termina — quem consome pode usar `range` sem coordenacao extra.
func (*ProcessExecutor) Name ¶
func (p *ProcessExecutor) Name() string