Saltar al contenido
Telemetry
Tareas en segundo plano receta SQL

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.

Principiantejob_runsRevisado 2026-07-27Probado 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 en segundo plano consumen más reintentos o aún fallan?

Los reintentos pueden hacer que una cola parezca saludable y, al mismo tiempo, ocultar trabajo adicional y resultados retrasados. Esta consulta mantiene visible la recuperación exitosa sin tratarla como un éxito en el primer intento.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampCuando la ejecución se completó o falló.
job_nameUtf8Nombre de trabajo lógico estable.
statusUtf8éxito o fracaso.
attemptInt64Intento de ejecución basado en uno.
duration_msFloat64Duración del intento.
DataFusionSQL

Copiar la consulta

sql
SELECT
  job_name,
  COUNT(*) AS attempts,
  SUM(CASE WHEN attempt > 1 THEN 1 ELSE 0 END) AS retries,
  SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failures,
  100.0 * SUM(CASE WHEN attempt > 1 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS retry_rate_pct,
  approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms
FROM job_runs
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY job_name
ORDER BY retry_rate_pct DESC, failures 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

Tasa de reintentos por trabajo

Las sincronizaciones de suscripciones merecen atención a pesar de que el correo electrónico tiene reintentos más absolutos.

job_nameattemptsretriesfailuresretry_rate_pctp95_duration_ms
sync_subscription1032308000
generate_report81112,512.000
send_email10000900

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

Retry rate by job: gráfico estático de valores sintéticos de retry_rate_pct del resultado del ejemplo Measure Background Job Retry and Failure Rate
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, reproducible 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. 1Contar intentos en lugar de trabajos lógicos expone intencionalmente la carga de ejecución adicional causada por los reintentos.
  2. 2El denominador de la tasa de reintentos son todos los intentos. Si prefiere un denominador de trabajo lógico, incluya un job_id y cuente distintos ID de trabajo.
  3. 3La duración de p95 ayuda a distinguir los reintentos transitorios rápidos de ejecuciones costosas que también consumen capacidad de los trabajadores.

Casos extremos para decidir

  • Se puede esperar un reintento programado; segmento por error_type antes de cambiar la política de reintento.
  • Utilice un job_id estable si varios intentos pertenecen a una unidad lógica de trabajo.
  • Los casos de letra muerta deben informarse por separado porque representan recuperación agotada.

Panel recomendado

  • Gráfico de barras: retry_rate_pct por job_name
  • Gráfico de líneas: fallas por día y job_name
  • Tabla: últimos fallos finales con cliente y contexto de error

Guía de alerta

Alerta cuando la tasa de reintentos se duplica en relación con la línea base de los siete días anteriores o cuando una falla final afecta un flujo de trabajo crítico.

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