Saltar al contenido
Telemetry
Tareas en segundo plano receta SQL

Detectar programaciones cron perdidas

Compare eventos de ejecución cron consecutivos con cada intervalo de programación para encontrar ejecuciones tardías o faltantes.

Intermediocron_runsRevisado 2026-07-28Probado con Apache DataFusion 45.2.0

Revisado por el equipo de producto Telemetry en . Compatibilidad con SQL, contrato de eventos, resultados sintéticos y advertencias operativas. Revisar los estándares y la propiedad

Pregunta respondida

¿Qué trabajos programados se ejecutaron más tarde que su intervalo documentado?

Un proceso cron que nunca se inicia no puede emitir un error. La comparación de la brecha entre las ejecuciones observadas con el intervalo esperado detecta silencios que las consultas ordinarias de tasa de error pasan por alto.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampHora de inicio de ejecución cron observada.
schedule_nameUtf8Nombre del flujo de trabajo programado estable.
environmentUtf8Entorno de implementación.
expected_interval_minutesFloat64Minutos documentados entre salidas.
DataFusionSQL

Copiar la consulta

sql
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_nameenvironmentprevious_run_atrun_atexpected_interval_minutesobserved_gap_minutes
hourly_billing_syncproduction2026-07-27 07:002026-07-27 10:0060180
daily_trial_expirationproduction2026-07-25 02:002026-07-27 02:0014402880

Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.

Observed schedule gaps: gráfico estático de valores sintéticos de observed_gap_minutes del resultado del ejemplo Detect Missed Cron Schedules
SVG indexable de la salida del ejemplo determinista. Descárguelo para ver un artículo, un runbook o una revisión de diseño con atribución.

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

  1. 1LAG recupera el inicio observado anterior para cada horario y entorno.
  2. 2La diferencia de marca de tiempo se convierte en una brecha observada que se puede comparar con el intervalo propio de cada trabajo.
  3. 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 alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Continuar el análisis

Ejecú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.

Obtén una clave API