Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de inicio de ejecución cron observada. |
| schedule_name | Utf8 | Nombre del flujo de trabajo programado estable. |
| environment | Utf8 | Entorno de implementación. |
| expected_interval_minutes | Float64 | Minutos documentados entre salidas. |
Copiar la consulta
WITH ordered_runs AS (
SELECT
schedule_name,
environment,
timestamp_utc AS run_at,
expected_interval_minutes,
LAG(timestamp_utc) OVER (
PARTITION BY schedule_name, environment
ORDER BY timestamp_utc
) AS previous_run_at
FROM cron_runs
WHERE timestamp_utc >= now() - INTERVAL '7 days'
)
SELECT
schedule_name,
environment,
previous_run_at,
run_at,
expected_interval_minutes,
date_part('second', run_at - previous_run_at) / 60.0 AS observed_gap_minutes
FROM ordered_runs
WHERE previous_run_at IS NOT NULL
AND date_part('second', run_at - previous_run_at) / 60.0
> expected_interval_minutes * 1.5
ORDER BY observed_gap_minutes DESC;Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.
Resultado de la consulta
Brechas de cronograma observadas
La sincronización de facturación omitió dos inicios previstos, mientras que el flujo de trabajo de vencimiento diario se saltó un día.
| schedule_name | environment | previous_run_at | run_at | expected_interval_minutes | observed_gap_minutes |
|---|---|---|---|---|---|
| hourly_billing_sync | production | 2026-07-27 07:00 | 2026-07-27 10:00 | 60 | 180 |
| daily_trial_expiration | production | 2026-07-25 02:00 | 2026-07-27 02:00 | 1440 | 2880 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descargar el accesorio público
El paquete JSON incluye el contrato de evento escrito, illustrative filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.
Cómo funciona el SQL
- 1LAG recupera el inicio observado anterior para cada horario y entorno.
- 2La diferencia de marca de tiempo se convierte en una brecha observada que se puede comparar con el intervalo propio de cada trabajo.
- 3Un multiplicador de 1,5 permite una programación normal sin ocultar una ejecución realmente perdida.
Casos extremos para decidir
- Esta consulta histórica detecta una brecha sólo después de que llega la siguiente ejecución; emparéjelo con una alerta actual de latido faltante.
- El mantenimiento planificado y los programas deshabilitados deben emitir cambios de estado explícitos.
- Las transiciones al horario de verano requieren horarios UTC o expectativas que tengan en cuenta la zona horaria.
Panel recomendado
- Tabla: salidas perdidas con la carrera anterior y siguiente
- Tendencia: minutos de diferencia horaria por trabajo
- Estadística: programas de producción actualmente vencidos
Guía de alerta
Para la detección en tiempo real, avise cuando la última ejecución sea anterior al intervalo esperado, además de la fluctuación documentada.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Medir el reintento del trabajo en segundo plano y la tasa de fallas
Encuentre trabajos no confiables comparando ejecuciones exitosas, reintentos, fallas y duración de cola.
Receta abiertaEncuentre trabajos en segundo plano estancados con SQL
Únase a los eventos de inicio y finalización del trabajo para identificar el trabajo que excedió su ventana de finalización esperada.
Receta abiertaDetectar latidos de servicio faltantes
Encuentre servicios, trabajadores o tareas programadas que dejaron de informar antes de que apareciera un evento de falla.
Receta abiertaEjecútelo en eventos reales.
Crea una tabla, adapta los campos y guarda el resultado.
Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.