Saltar al contenido
Telemetry
colección de recetas SQL

Tareas en segundo plano Recetas SQL

Mida los reintentos, las fallas, la antigüedad de la cola, el crecimiento de los trabajos pendientes, el trabajo estancado y el tiempo de recuperación de los trabajadores, las importaciones, las tareas cron y los trabajos asíncronos.

contrato de evento común

Campos que mantienen estas consultas reutilizables

  • timestamp_utc, job_id, job_name, queue_name y estado
  • scheduled_at, started_at, completed_at, duration_ms e intento
  • error_type, worker_name, item_count y versión

Definiciones antes de SQL

Decisiones que la consulta no puede tomar por usted

  1. 1Elija un identificador que conecte cada intento del mismo trabajo lógico.
  2. 2Documente los estados de la terminal para que las consultas de trabajos estancados no indiquen el trabajo completado.
  3. 3Separe la espera de la cola del tiempo de ejecución antes de establecer umbrales.

Secuencia recomendada

Primero la detección de compilación, luego el diagnóstico

Patrones de análisis

Hacer que el resultado explique una decisión.

Modelar el ciclo de vida del trabajo

Mantenga distintos los resultados programados, iniciados, reintentados, completados, fallidos y descartados para que una consulta pueda reconstruir cada trabajo lógico.

Separar el stock del flujo

Mida el trabajo pendiente actual independientemente de los trabajos creados y resueltos durante cada período de tiempo.

Alerta por retraso sostenido

Utilice la antigüedad de la cola, programaciones perdidas consecutivas o reintentos repetidos en lugar de un único error de trabajador transitorio.

recetas completas

Copie la consulta y luego valide las suposiciones.

Principiantejob_runs

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.

¿Qué trabajos en segundo plano consumen más reintentos o aún fallan?

Ver SQL y resultado
Intermediojob_events

Encuentre 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.

¿Qué trabajos comenzaron pero nunca produjeron un evento terminal?

Ver SQL y resultado
Principiantejob_runs

Medir el tiempo de espera de la cola por trabajo

Separe el tiempo de espera en una cola de la duración de la ejecución y compare el retraso de p50 y p95 por nombre de trabajo.

¿Qué trabajos esperan más tiempo antes de que un trabajador los inicie?

Ver SQL y resultado
Intermediojob_events

Medir el crecimiento de la cola de mensajes fallidos

Compare la creación y resolución de mensajes fallidos para encontrar colas que acumulen trabajo irrecuperable.

¿Qué colas agregan trabajos fallidos más rápido de lo que los resuelven?

Ver SQL y resultado
Intermediocron_runs

Detectar programaciones cron perdidas

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

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

Ver SQL y resultado
Intermediojob_attempts

Detectar tormentas de reintentos de trabajos en segundo plano

Encuentre períodos de tiempo en los que los intentos repetidos de trabajo generen colas de trabajo desproporcionadas y fracasos.

¿Qué tipos de trabajos dedican más trabajo a los reintentos en este momento?

Ver SQL y resultado

Adaptar el contrato del evento antes del umbral.

Mantenga el patrón de análisis, pero valide los nombres de las tablas, los tipos de campos, las definiciones comerciales, las ventanas de tiempo y las reglas de volumen mínimo con respecto a sus propios eventos. Cada consulta publicada también se planifica y ejecuta en una tabla escrita vacía con el motor fijado.