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
- 1Elija un identificador que conecte cada intento del mismo trabajo lógico.
- 2Documente los estados de la terminal para que las consultas de trabajos estancados no indiquen el trabajo completado.
- 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.
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 resultadoEncuentre 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 resultadoMedir 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 resultadoMedir 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 resultadoDetectar 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 resultadoDetectar 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 resultadoAdaptar 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.