Programacion consciente de recursos

Encolar un despacho en vez de amontonarse sobre una maquina saturada, y mirar la cola con orch status.

Objetivo#

Evitar que una maquina ocupada empeore: cuando el host ya esta cargado, un despacho nuevo espera su turno — visible como queued — en vez de arrancar junto con todo lo demas y frenar a cada worker por igual. Apagado por defecto, asi que una maquina tranquila no ve ningun cambio.

Pasos#

  1. Define uno o ambos umbrales en orch.yaml:

    scheduler:
      max_load: 0.85          # encola si la fraccion de CPU ocupada supera esto (0-1); 0 = apagado
      min_free_mem_mb: 512    # encola si la memoria libre cae bajo esto en MB; 0 = apagado
      max_wait_sec: 0         # tope de la espera; 0 = el timeout propio de ese despacho
    

    Ambos umbrales estan apagados a menos que los definas — un workshop que nunca toca esta seccion despacha exactamente igual que antes del item 7.

  2. Despacha como siempre. Cuando el host supera un umbral configurado al momento del despacho, la sesion queda registrada queued (task list --status queued, session list, orch status) y la llamada de despacho se bloquea, consultando el host cada par de segundos, hasta que la carga baje o max_wait_sec se cumpla.

  3. Mira la cola en vivo:

    orch status                # carga del host + profundidad de la cola para esta carpeta
    orch task list --status queued
    
  4. Subir scheduler.max_load en orch.yaml mientras un despacho ya esta en cola surte efecto en la siguiente consulta de ese despacho — no hace falta reiniciar.

Que pasa en un timeout#

Un despacho encolado que nunca se libera dentro de max_wait_sec falla con scheduler: waited <duracion> over max_load (o under min_free_mem_mb) en vez de quedar colgado para siempre; la sesion queda marcada failed, no queued.

Cobertura por plataforma#

El sampler de carga lee /proc en Linux y GetSystemTimes / GlobalMemoryStatusEx en Windows. Donde una plataforma no tiene una lectura barata (macOS por ahora), los umbrales se saltan en vez de compararse contra una adivinanza — un despacho nunca se encola por una lectura que nadie pudo tomar de verdad.

Relacionado#

  • Paquete de evidencia — una espera en cola aparece en el propio log de la sesion, no en los numeros de tokens/costo del paquete.