Comprueba con IA que tus tareas programadas se han ejecutado de verdad

Un agente lee una lista de tareas cron con la hora de su última ejecución y señala en lenguaje claro las que van con retraso o fallan.

  • Conexión de solo lectura
  • Programado
  • Callback
  • Límite de presupuesto

Mira una ejecución real

Una ejecución real del 7 oct 2026, reproducida. Modelo: openai/gpt-6-luna.

Completadarun_465f762a5831e5d144145e2f5875031c$0.002811 de $0.025
  1. En colapresupuesto de $0.025 reservado
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell off · web off
  4. Conexiónops GET /jobs
  5. Resultadoops GET → 200
  6. MicroVMmicroVM destroyed
  7. Completada2 llamadas al modelo, 3,246 tokensResultado grabado (en inglés)

    Ops check at 2026-10-07 09:00 UTC: 2 jobs need attention; 6 are healthy.

    • invoice-export — Overdue: last ran 2026-10-05 03:00 UTC, 54 hours ago; expected every 24 hours (overdue threshold: more than 36 hours). No run is recorded on Oct 6 or 7. Next step: investigate the missed runs and trigger an export if needed.
    • sync-inventory — Failing: last ran 2026-10-07 08:30 UTC and status is failed; error: 401 Unauthorized from supplier API: token expired. Next step: renew the supplier API token and retry.
  8. Worker destruido$0.002811 cobrados, $0.022189 liberados
Modelo $0.000411 · Web $0.00 · Cómputo $0.0024

Ejecútalo tú mismo

Abre el ejemplo en el playground con la solicitud completa ya rellenada. Se ejecuta en tu propia cuenta, dentro del presupuesto indicado, contra los mismos sistemas de ejemplo de solo lectura.

Presupuesto de este ejemplo: $0.025

Cómo funciona

Los fallos silenciosos de cron son los que salen caros. El agente compara la última ejecución de cada tarea con su intervalo esperado e informa de las que van con retraso o fallan, con las pruebas. La API de tareas es de solo lectura e informa de su propio reloj, así que la respuesta no depende del calendario del agente.

Lo que el agente puede y no puede hacer

Los permisos forman parte de la solicitud. Todo lo que no figura aquí no está disponible para la ejecución.

AjustePermitido
Conexiones
ops: solo GET, en ephemer.al/api/samples/ops-api
WebDesactivado
ShellDesactivado
ArchivosNinguna
Retención cero de datosDesactivada: el registro se conserva 30 días
Presupuesto$0.025, límite estricto
Tiempo límite60 segundos

Las credenciales nunca entran en la máquina: un broker las añade a cada llamada y aplica los métodos indicados arriba.

El código

Esta es la solicitud exacta que envía el ejemplo. Define EPHEMERAL_API_KEY con una clave de miembro de tu organización.

curl -X POST $EPHEMERAL_URL/v1/runs \
  -H "Authorization: Bearer $EPHEMERAL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @request.json
Cuerpo completo de la solicitud workflow.json

El mismo cuerpo, con los archivos en línea.

workflow.json
{
  "prompt": "Read GET /jobs on the ops connection. Use the 'now' value in the response as the current time. A job is overdue when more than 1.5 times expected_every_hours have passed since last_run_at. A job is failing when last_status is failed. Reply in Markdown, at most 150 words: one headline sentence, then a bullet for each overdue or failing job with its name, the evidence (times and error) and a likely next step. Do not list healthy jobs, just say how many there are. Use only what the data returns and never guess; if a call fails or a field is missing, say so.",
  "connections": {
    "ops": {
      "type": "http",
      "url": "https://ephemer.al/api/samples/ops-api",
      "auth": {
        "type": "bearer",
        "token": "sample_read_key"
      },
      "allowed_methods": [
        "GET"
      ],
      "instructions": "GET /jobs returns now (the current time) and items with name, schedule, expected_every_hours, last_run_at, last_status, last_error, recent_statuses (newest first) and sometimes a note."
    }
  },
  "shell": false,
  "timeout_seconds": 60
}

Este ejemplo se ejecuta según un horario: 0 * * * * en UTC. Una programación inicia un flujo de trabajo guardado, así que primero guarda la solicitud como flujo de trabajo y después crea la programación.

Más información

Ejemplos relacionados

esc

Nada coincide con “”.