Saltar al contenido
Crear cuenta
Workers

Ejecución aislada. Recuperación total de memoria.

Corre lógica pesada o no confiable en isolates V8 dedicados. Un crash en un worker jamás tumba el host. Cuando un worker termina, el OS recupera el 100% de su memoria — le decimos la Guillotina.

Cada worker corre en su propio worker thread de Node.js con un heap V8 privado. Las variables son privadas, la memoria está aislada, y la muerte del hilo no es la muerte del proceso — la confiabilidad y la capacidad de respuesta dejan de competir con tu lógica de negocio.

Una máquina de estados estricta gobierna cada instancia: INACTIVE → ACTIVE_FOREGROUND / ACTIVE_BACKGROUND → SUSPENDED → TERMINATING → TERMINATED. Cada instancia tiene un pid y un alias, direccionable globalmente o por nombre. Spawn, activate, suspend, resume, signal, stop — el ciclo de vida es el API.

La comunicación usa un protocolo de correlation-ID: cada comando lleva un id monotónico de mensaje, y cada respuesta resuelve exactamente su promesa. Varios comandos pueden estar en vuelo sin mezclar jamás sus respuestas.

invoice.worker.js
class InvoiceWorker extends BaseWorker {
  async activateBackground(ctx) {
    const { payload, logger } = ctx;

    logger.info('Procesando…');
    const result = await this.settle(payload);

    return { ok: true, data: result, port: 'done' };
  }
}

// spawn → activate → stop. La memoria vuelve a cero.

Qué obtienes

  • Isolate V8 dedicado por worker — a prueba de crashes por construcción
  • Ciclo de vida FSM con comandos suspend / resume / signal
  • La Guillotina: la terminación forzada recupera el 100% de la memoria
  • Protocolo correlation-ID — comandos concurrentes nunca se cruzan

Hecho para

01

El PDF que se come un core

OCR, transcodificación, parseos grandes — el trabajo CPU-bound corre en su isolate mientras el event loop principal sigue sirviendo tráfico.

02

Código de terceros que no escribiste

Corre la lógica de integración en un worker. Si fuga memoria, se cuelga o muere, la guillotina limpia y el host ni se entera.

03

Mil jobs cortos al día

Workers efímeros nacen, corren y terminan. Como la recuperación de memoria es total, el job diez mil corre igual que el primero.

Pon tu plataforma sobre el backbone.