Ir al contenido
use-cases / wake-agent-at-3am / hero
Cron · Agente · Contenedores

Despierta un agente a las 3 de la madrugada y retíralo a las 4

Un job nocturno que escanea las excepciones de facturación de ayer, agrupa duplicados y escribe una nota de triaje. Solo necesita existir alrededor de una hora al día. Dos entradas de cron levantan un contenedor de agente nuevo a las 02:59 y lo derriban a las 04:01. Las otras 23 horas, no está ejecutándose, ni en caliente, ni facturado.

Leer la documentación
use-cases / wake-agent-at-3am / mechanism

Dos entradas de cron, un contenedor de vida corta

No hay pool en caliente, ni servicio scheduler, ni demonio de pegamento haciendo polling de trabajo. Una entrada hoody-cron hace POST a la URL de spawn de hoody-agent a las 02:59. El agente hace su run y sale. Un segundo cron a las 04:01 llama DELETE para asegurarse de que el contenedor desapareció. Esa es toda la máquina.

POST cron.hoody.com/users/root/entries
Disparador de despertar · 02:59
// Entrada de cron que dispara una vez al día y hace POST de la solicitud de spawnPOST cron.hoody.com/users/root/entries{ schedule: "0 3 * * *", command: "curl -X POST $AGENT_URL -d @prompt.json", comment: "billing-reconcile · 3am wake"}
dispara a las 02:59 →
POST api.hoody.com/api/v1/projects/$PID/containers
Spawn del agente · ai + hoody_kit
// El agente arranca, reconcilia las facturas de ayer, escribe notas, salePOST api.hoody.com/api/v1/projects/$PID/containers{ name: "billing-reconcile-$(date +%s)", ai: true, hoody_kit: true, autostart: false}
el contenedor sale, el segundo cron dispara a las 04:01 →
DELETE api.hoody.com/api/v1/containers/$CID
Teardown · 04:01
// Cinturón y tirantes: un segundo cron afirma que el contenedor se ha idoDELETE api.hoody.com/api/v1/containers/$CID// Respuesta de hoody-containers200 OK · container deleted

Dos filas de cron en una base de datos. Una imagen de agente. El contenedor solo existe para el trabajo, luego deja de existir. Sin pool en caliente, sin primitiva de tarea programada, sin demonio de ciclo de vida que tengas que operar tú mismo.

use-cases / wake-agent-at-3am / night

Cómo es la noche en realidad

Cinco momentos. El agente está vivo durante los tres del medio. Fuera de esa hora, la fila en la tabla de contenedores no está.

  1. 02:59Cron · despertar

    La entrada de cron billing-reconcile-wake dispara. Hace POST a api.hoody.com con ai: true y hoody_kit: true. Un contenedor nuevo levanta con un sistema de archivos limpio y el prompt del agente cargado.

  2. 03:02Agente · leer

    El agente lee la tabla billing-exceptions de ayer sobre Hoody SQLite y le pide a un LLM que agrupe las filas por código de razón — ya sea a través del Gateway IA de Hoody (costo del proveedor + 5%, sacado de tu Saldo de IA) o tu propia clave directo a Anthropic / OpenAI / tu proveedor. Sin file-share montados. Solo URLs.

  3. 03:31Agente · escribir

    Escribe una sola nota de triaje por cluster de vuelta a la misma URL de SQLite, luego envía una notificación con el resumen diario. Tiempo de pared total hasta ahora: unos treinta minutos.

  4. 03:58Agente · salir

    El proceso del agente devuelve 0 y el contenedor sale por sí solo. Hoody-containers lo marca como detenido. Desde este segundo en adelante, nada del agente está corriendo, en caliente o facturado.

  5. 04:01Cron · retirar

    Una segunda entrada de cron dispara DELETE sobre el id del contenedor. Si el agente ya salió, esto es un no-op 200 OK. Si se colgó, el contenedor se derriba igual. Idempotente y sin supervisión.

Cinco timestamps, dos filas de cron, un contenedor que vive sesenta y dos minutos. La noche corre sola, y te enteras de que corrió leyendo la nota de triaje por la mañana.

use-cases / wake-agent-at-3am / powers

Por qué funciona esta forma de ciclo de vida

Un worker siempre encendido es la forma equivocada para un job que corre una vez al día. En Hoody el sustrato es de tarifa plana — la ventaja no es facturación por segundo, es sin pool en caliente, sin servicio scheduler, sin demonio de pegadura que operar.

Inactivo no cuesta extra

El contenedor no existe entre runs

No hay pool en caliente sentado en memoria. Ni servicio de 'tarea programada' guardando estado. La fila en la tabla de contenedores no está durante veintitrés horas del día. El servidor de tarifa plana que ya alquilas ejecuta el trabajo; las horas inactivas no generan una línea de factura aparte.

Sin línea de cargo por-ejecución

La factura del servidor no cambia

Hoody factura la caja, no el tiempo de ejecución. Un agente nocturno de 60 minutos y un worker siempre encendido 24/7 caen en la misma factura de servidor de tarifa plana. La ventaja no es 'paga solo por lo que usas' — es no pagar dos veces el overhead de pool en caliente que no necesitas.

Sin código de ciclo de vida

Dos filas de cron, sin demonio de pegamento

No escribes una Lambda de despertar, un worker de 'levanta el contenedor' o un watchdog que lo retire. Hoody-cron hace POST. Hoody-containers lanza el spawn. El agente sale. Un segundo cron hace POST DELETE. Esa es toda la superficie.

use-cases / wake-agent-at-3am / economics

El coste de un agente inactivo

La mayoría de plataformas de agentes mantienen al worker en caliente veinticuatro horas al día para que esté listo en menos de un segundo. Para un job batch de las 3 AM ese es justo el tradeoff equivocado. Un cold-spawn en unos segundos está bien cuando el horario es tuyo.

Agente siempre encendido24h × 30 días
720h / mo

Un contenedor de agente siempre encendido, o un asiento en pool caliente reservado para un agente que corre una vez al día, está vivo 720 horas al mes. 719 de esas horas, no hace nada.

Inactivo es la línea del recibo en plataformas por-segundo
Despertar y retirar1h × 30 días
30h / mo

Un contenedor de vida corta lanzado por una entrada de cron existe una hora por noche. Treinta horas al mes, en total. El proceso del agente devuelve 0 y la fila en la tabla de contenedores se ha ido.

  • LUN02:59 → 04:0162m vivo
  • MAR02:59 → 04:0060m vivo
  • MIÉ02:59 → 03:5858m vivo
  • JUE02:59 → 04:0061m vivo
  • VIE02:59 → 04:0060m vivo
  • SÁB02:59 → 03:5959m vivo
  • DOM02:59 → 04:0060m vivo
Factura del servidor sin cambios

Hoody factura el servidor, no el tiempo de ejecución. La columna 'vivo' muestra cuándo el agente existió cada noche — el mismo servidor de tarifa plana se ejecuta esté o no esté. Los precios comienzan en $29/mes y varían según especificación, región y duración del alquiler.

use-cases / wake-agent-at-3am / punchline

Un agente que existe solo cuando hay trabajo para él.

Horas vivo al día1h02:59 → 04:01, luego se va
Cambio en la factura del servidor0Tarifa plana, vivo o inactivo
Código de ciclo de vida que escribes0Dos filas de cron, sin demonio
Ver la API de spawn
use-cases / wake-agent-at-3am / replaces

Lo que esto reemplaza

Los patrones que pagan por que un agente exista las 24 horas. En Hoody, el agente corre dentro del servidor de tarifa plana que ya alquilas — sin pool en caliente, sin servicio scheduler, sin medidor por segundo.

  • Contenedores de agente siempre encendidos23 horas inactivas, facturadas a tarifa activa
  • Warm-pools de AWS LambdaPagar para mantener los cold-starts lejos del cron
  • Tareas programadas de Modal LabsRuntime cerrado, facturación opaca
  • Código de ciclo de vida warm-cold a medidaTres semanas para escribirlo, seis meses para depurarlo
  • Polling de endpoints /spawnUn segundo cron cuyo único trabajo es lanzar el primero
  • Caja GPU Hetzner siempre encendida$200/mes por una inferencia diaria
use-cases / wake-agent-at-3am / cta

Un agente que existe solo cuando hay trabajo para él.

Leer la documentación
use-cases / wake-agent-at-3am / related

Lee los otros