Saltar al contenido principal
Consultas en ClickHouse CloudLos datos de esta tabla del sistema se almacenan localmente en cada nodo de ClickHouse Cloud. Por lo tanto, para obtener una vista completa de todos los datos, es necesario usar la función clusterAllReplicas. Consulta aquí para más detalles.

Descripción

Contiene información y el estado de trabajos asíncronos recientes (p. ej., para la carga de tablas). La tabla contiene una fila por cada trabajo. Hay una herramienta para visualizar la información de esta tabla: utils/async_loader_graph.

Columnas

  • job (String) — Nombre del trabajo (puede no ser único).
  • job_id (UInt64) — ID único del trabajo.
  • dependencies (Array(UInt64)) — Lista de ID de los trabajos que deben completarse antes que este.
  • dependencies_left (UInt64) — Número actual de dependencias pendientes de completar.
  • status (Enum8(‘PENDING’ = 0, ‘OK’ = 1, ‘FAILED’ = 2, ‘CANCELED’ = 3)) — Estado de carga actual de un trabajo: PENDING: El trabajo de carga aún no ha comenzado. OK: El trabajo de carga se ejecutó correctamente. FAILED: El trabajo de carga se ejecutó y falló. CANCELED: El trabajo de carga no se ejecutará debido a una eliminación o a un fallo en una dependencia.
  • is_executing (UInt8) — El trabajo se está ejecutando actualmente en un worker.
  • is_blocked (UInt8) — El trabajo está esperando a que se completen sus dependencias.
  • is_ready (UInt8) — El trabajo está listo para ejecutarse y espera a un worker.
  • elapsed (Float64) — Segundos transcurridos desde el inicio de la ejecución. Cero si el trabajo aún no ha comenzado. Tiempo total de ejecución si el trabajo ha finalizado.
  • pool_id (UInt64) — ID de un pool asignado actualmente al trabajo.
  • pool (String) — Nombre del pool pool_id.
  • priority (Int64) — Prioridad del pool pool_id.
  • execution_pool_id (UInt64) — ID del pool en el que se ejecuta el trabajo. Inicialmente coincide con el pool asignado antes de que comience la ejecución.
  • execution_pool (String) — Nombre del pool execution_pool_id.
  • execution_priority (Int64) — Prioridad del pool execution_pool_id.
  • ready_seqno (Nullable(UInt64)) — No es NULL para los trabajos listos. El worker extrae el siguiente trabajo que se va a ejecutar de la cola de listos de su pool. Si hay varios trabajos listos, se elige el que tenga el valor más bajo de ready_seqno.
  • waiters (UInt64) — Número de threads en espera en este trabajo.
  • exception (Nullable(String)) — No es NULL para los trabajos fallidos y cancelados. Contiene el mensaje de error generado durante la ejecución de la consulta o el error que provocó la cancelación de este trabajo, junto con la cadena de fallos de dependencia de los nombres de los trabajos.
  • schedule_time (DateTime64(6)) — Hora en que se creó el trabajo y se programó su ejecución (normalmente junto con todas sus dependencias).
  • enqueue_time (Nullable(DateTime64(6))) — Hora en que el trabajo pasó a estar listo y se encoló en la cola de listos de su pool. NULL si el trabajo aún no está listo.
  • start_time (Nullable(DateTime64(6))) — Hora en que el worker desencola el trabajo de la cola de listos y comienza su ejecución. NULL si el trabajo aún no ha comenzado.
  • finish_time (Nullable(DateTime64(6))) — Hora en que finaliza la ejecución del trabajo. NULL si el trabajo aún no ha finalizado.
Un trabajo pendiente puede estar en uno de los siguientes estados:
  • is_executing (UInt8) - El trabajo se está ejecutando actualmente en un worker.
  • is_blocked (UInt8) - El trabajo espera a que finalicen sus dependencias.
  • is_ready (UInt8) - El trabajo está listo para ejecutarse y espera un worker.
  • elapsed (Float64) - Segundos transcurridos desde el inicio de la ejecución. Cero si el trabajo no ha comenzado. Tiempo total de ejecución si el trabajo ha finalizado.
Cada trabajo tiene un pool asociado y se inicia en él. Cada pool tiene una prioridad constante y un número máximo mutable de workers. Los trabajos con mayor prioridad (un valor de priority más bajo) se ejecutan primero. No se inicia ningún trabajo de menor prioridad mientras haya al menos un trabajo de mayor prioridad listo o en ejecución. La prioridad de un trabajo puede elevarse (pero no reducirse) al priorizarlo. Por ejemplo, los trabajos de carga e inicio de una tabla se priorizarán si una consulta entrante requiere esa tabla. Es posible priorizar un trabajo durante su ejecución, pero el trabajo no se mueve de su execution_pool al pool recién asignado. El trabajo usa pool para crear nuevos trabajos y así evitar la inversión de prioridades. Los trabajos ya iniciados no son interrumpidos por trabajos de mayor prioridad y siempre se ejecutan hasta completarse una vez iniciados.
  • pool_id (UInt64) - ID del pool asignado actualmente al trabajo.
  • pool (String) - Nombre del pool pool_id.
  • priority (Int64) - Prioridad del pool pool_id.
  • execution_pool_id (UInt64) - ID del pool en el que se ejecuta el trabajo. Inicialmente coincide con el pool asignado antes de que comience la ejecución.
  • execution_pool (String) - Nombre del pool execution_pool_id.
  • execution_priority (Int64) - Prioridad del pool execution_pool_id.
  • ready_seqno (Nullable(UInt64)) - Not null para los trabajos listos. El worker extrae el siguiente trabajo que se va a ejecutar de la cola de listo de su pool. Si hay varios trabajos listos, se elige el trabajo con el valor más bajo de ready_seqno.
  • waiters (UInt64) - Número de threads que esperan este trabajo.
  • exception (Nullable(String)) - Not null para los trabajos fallidos y cancelados. Contiene el mensaje de error generado durante la ejecución de la consulta o el error que provocó la cancelación de este trabajo, junto con la chain de fallos de dependencias de nombres de trabajos.
Instantes temporales durante la vida útil del trabajo:
  • schedule_time (DateTime64) - Momento en que se creó el trabajo y se programó su ejecución (normalmente junto con todas sus dependencias).
  • enqueue_time (Nullable(DateTime64)) - Momento en que el trabajo quedó listo y se encoló en la cola de listo de su pool. NULL si el trabajo aún no está listo.
  • start_time (Nullable(DateTime64)) - Momento en que un worker desencola el trabajo de la cola de listo e inicia su ejecución. NULL si el trabajo aún no se ha iniciado.
  • finish_time (Nullable(DateTime64)) - Momento en que finaliza la ejecución del trabajo. NULL si el trabajo aún no ha finalizado.

Ejemplo

SELECT *
FROM system.asynchronous_loader
LIMIT 1
FORMAT Vertical
Última modificación el 10 de junio de 2026