> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Tabla del sistema que contiene información y el estado de trabajos asíncronos recientes (p. ej., de tablas en proceso de carga). La tabla contiene una fila por cada trabajo.

# system.asynchronous_loader

<Info>
  **Consultas en ClickHouse Cloud**

  Los 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í](/es/reference/system-tables/overview#system-tables-in-clickhouse-cloud) para más detalles.
</Info>

<div id="description">
  ## Descripción
</div>

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

<div id="columns">
  ## Columnas
</div>

* `job` ([String](/es/reference/data-types)) — Nombre del trabajo (puede no ser único).
* `job_id` ([UInt64](/es/reference/data-types)) — ID único del trabajo.
* `dependencies` ([Array(UInt64)](/es/reference/data-types)) — Lista de ID de los trabajos que deben completarse antes que este.
* `dependencies_left` ([UInt64](/es/reference/data-types)) — Número actual de dependencias pendientes de completar.
* `status` ([Enum8('PENDING' = 0, 'OK' = 1, 'FAILED' = 2, 'CANCELED' = 3)](/es/reference/data-types)) — 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](/es/reference/data-types)) — El trabajo se está ejecutando actualmente en un worker.
* `is_blocked` ([UInt8](/es/reference/data-types)) — El trabajo está esperando a que se completen sus dependencias.
* `is_ready` ([UInt8](/es/reference/data-types)) — El trabajo está listo para ejecutarse y espera a un worker.
* `elapsed` ([Float64](/es/reference/data-types)) — 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](/es/reference/data-types)) — ID de un pool asignado actualmente al trabajo.
* `pool` ([String](/es/reference/data-types)) — Nombre del pool `pool_id`.
* `priority` ([Int64](/es/reference/data-types)) — Prioridad del pool `pool_id`.
* `execution_pool_id` ([UInt64](/es/reference/data-types)) — 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](/es/reference/data-types)) — Nombre del pool `execution_pool_id`.
* `execution_priority` ([Int64](/es/reference/data-types)) — Prioridad del pool `execution_pool_id`.
* `ready_seqno` ([Nullable(UInt64)](/es/reference/data-types)) — 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](/es/reference/data-types)) — Número de threads en espera en este trabajo.
* `exception` ([Nullable(String)](/es/reference/data-types)) — 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)](/es/reference/data-types)) — Hora en que se creó el trabajo y se programó su ejecución (normalmente junto con todas sus dependencias).
* `enqueue_time` ([Nullable(DateTime64(6))](/es/reference/data-types)) — 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))](/es/reference/data-types)) — 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))](/es/reference/data-types)) — 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.

<div id="example">
  ## Ejemplo
</div>

```sql theme={null}
SELECT *
FROM system.asynchronous_loader
LIMIT 1
FORMAT Vertical
```
