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

> Table système contenant des informations sur les tâches asynchrones récentes ainsi que sur leur état (par exemple, pour les tables en cours de chargement). La table contient une ligne pour chaque tâche.

# system.asynchronous_loader

<Info>
  **Interroger dans ClickHouse Cloud**

  Les données de cette table système sont stockées localement sur chaque nœud de ClickHouse Cloud. Pour obtenir une vue complète de l’ensemble des données, il faut donc utiliser la fonction `clusterAllReplicas`. Consultez [cette page](/fr/reference/system-tables/overview#system-tables-in-clickhouse-cloud) pour plus de détails.
</Info>

<div id="description">
  ## Description
</div>

Contient des informations et l’état des tâches asynchrones récentes (par ex. pour le chargement des tables). La table contient une ligne pour chaque tâche. Un outil permet de visualiser les informations de cette table : `utils/async_loader_graph`.

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

* `job` ([String](/fr/reference/data-types/index)) — Nom de la tâche (peut ne pas être unique).
* `job_id` ([UInt64](/fr/reference/data-types/index)) — ID unique de la tâche.
* `dependencies` ([Array(UInt64)](/fr/reference/data-types/index)) — Liste des ID des tâches qui doivent être terminées avant celle-ci.
* `dependencies_left` ([UInt64](/fr/reference/data-types/index)) — Nombre actuel de dépendances restant à terminer.
* `status` ([Enum8('PENDING' = 0, 'OK' = 1, 'FAILED' = 2, 'CANCELED' = 3)](/fr/reference/data-types/index)) — Statut de chargement actuel d’une tâche : PENDING : la tâche de chargement n’a pas encore démarré. OK : la tâche de chargement a été exécutée avec succès. FAILED : la tâche de chargement a été exécutée, mais a échoué. CANCELED : la tâche de chargement ne sera pas exécutée en raison de sa suppression ou d’un échec de dépendance.
* `is_executing` ([UInt8](/fr/reference/data-types/index)) — La tâche est actuellement exécutée par un worker.
* `is_blocked` ([UInt8](/fr/reference/data-types/index)) — La tâche attend que ses dépendances soient terminées.
* `is_ready` ([UInt8](/fr/reference/data-types/index)) — La tâche est prête à être exécutée et attend un worker.
* `elapsed` ([Float64](/fr/reference/data-types/index)) — Nombre de secondes écoulées depuis le début de l’exécution. Zéro si la tâche n’a pas démarré. Temps d’exécution total si la tâche est terminée.
* `pool_id` ([UInt64](/fr/reference/data-types/index)) — ID d’un pool actuellement attribué à la tâche.
* `pool` ([String](/fr/reference/data-types/index)) — Nom du pool `pool_id`.
* `priority` ([Int64](/fr/reference/data-types/index)) — Priorité du pool `pool_id`.
* `execution_pool_id` ([UInt64](/fr/reference/data-types/index)) — ID d’un pool dans lequel la tâche est exécutée. Correspond au pool initialement attribué avant le début de l’exécution.
* `execution_pool` ([String](/fr/reference/data-types/index)) — Nom du pool `execution_pool_id`.
* `execution_priority` ([Int64](/fr/reference/data-types/index)) — Priorité du pool `execution_pool_id`.
* `ready_seqno` ([Nullable(UInt64)](/fr/reference/data-types/index)) — Non NULL pour les tâches prêtes. Le worker récupère la prochaine tâche à exécuter dans la file d’attente des tâches prêtes de son pool. S’il y a plusieurs tâches prêtes, celle dont la valeur `ready_seqno` est la plus faible est sélectionnée.
* `waiters` ([UInt64](/fr/reference/data-types/index)) — Nombre de threads en attente sur cette tâche.
* `exception` ([Nullable(String)](/fr/reference/data-types/index)) — Non NULL pour les tâches en échec ou annulées. Contient le message d’erreur généré lors de l’exécution de la requête, ou l’erreur ayant conduit à l’annulation de cette tâche, ainsi que la chaîne des échecs de dépendance avec les noms des tâches.
* `schedule_time` ([DateTime64(6)](/fr/reference/data-types/index)) — Heure à laquelle la tâche a été créée et planifiée pour exécution (généralement avec toutes ses dépendances).
* `enqueue_time` ([Nullable(DateTime64(6))](/fr/reference/data-types/index)) — Heure à laquelle la tâche est devenue prête et a été placée dans la file d’attente des tâches prêtes de son pool. NULL si la tâche n’est pas encore prête.
* `start_time` ([Nullable(DateTime64(6))](/fr/reference/data-types/index)) — Heure à laquelle le worker retire la tâche de la file d’attente des tâches prêtes et commence son exécution. NULL si la tâche n’a pas encore démarré.
* `finish_time` ([Nullable(DateTime64(6))](/fr/reference/data-types/index)) — Heure à laquelle l’exécution de la tâche se termine. NULL si la tâche n’est pas encore terminée.

Une tâche en attente peut être dans l'un des états suivants :

* `is_executing` (`UInt8`) - La tâche est en cours d'exécution par un worker.
* `is_blocked` (`UInt8`) - La tâche attend que ses dépendances soient terminées.
* `is_ready` (`UInt8`) - La tâche est prête à être exécutée et attend un worker.
* `elapsed` (`Float64`) - Nombre de secondes écoulées depuis le début de l'exécution. Zéro si la tâche n'a pas démarré. Temps d'exécution total si la tâche est terminée.

Chaque tâche est associée à un pool et démarre dans ce pool. Chaque pool a une priorité constante et un nombre maximal de workers modifiable. Les tâches de priorité plus élevée (valeur `priority` plus faible) sont exécutées en premier. Aucune tâche de priorité inférieure n'est démarrée tant qu'au moins une tâche de priorité supérieure est prête ou en cours d'exécution. La priorité d'une tâche peut être augmentée (mais pas diminuée) en la priorisant. Par exemple, les tâches de chargement d'une table et de démarrage seront priorisées si une requête entrante nécessite cette table. Il est possible de prioriser une tâche pendant son exécution, mais la tâche n'est pas déplacée de son `execution_pool` vers le `pool` nouvellement assigné. La tâche utilise `pool` pour créer de nouvelles tâches afin d'éviter une inversion de priorité. Les tâches déjà démarrées ne sont pas interrompues par des tâches de priorité supérieure et s'exécutent toujours jusqu'à leur terme après leur démarrage.

* `pool_id` (`UInt64`) - ID du pool actuellement assigné à la tâche.

* `pool` (`String`) - Nom du pool `pool_id`.

* `priority` (`Int64`) - Priorité du pool `pool_id`.

* `execution_pool_id` (`UInt64`) - ID du pool dans lequel la tâche est exécutée. Correspond au pool initialement assigné avant le début de l'exécution.

* `execution_pool` (`String`) - Nom du pool `execution_pool_id`.

* `execution_priority` (`Int64`) - Priorité du pool `execution_pool_id`.

* `ready_seqno` (`Nullable(UInt64)`) - Non NULL pour les tâches prêtes. Un worker récupère la tâche suivante à exécuter depuis la file d’attente des tâches prêtes de son pool. S'il y a plusieurs tâches prêtes, celle dont la valeur de `ready_seqno` est la plus faible est sélectionnée.

* `waiters` (`UInt64`) - Nombre de threads en attente sur cette tâche.

* `exception` (`Nullable(String)`) - Non NULL pour les tâches en échec et annulées. Contient le message d'erreur généré pendant l'exécution de la requête ou l'erreur ayant entraîné l'annulation de cette tâche, ainsi que la chaîne de défaillance des dépendances des noms de tâches.

Instants au cours de la durée de vie d'une tâche :

* `schedule_time` (`DateTime64`) - Heure à laquelle la tâche a été créée et planifiée pour l'exécution (généralement avec toutes ses dépendances).
* `enqueue_time` (`Nullable(DateTime64)`) - Heure à laquelle la tâche est devenue prête et a été placée dans la file d’attente des tâches prêtes de son pool. Null si la tâche n'est pas encore prête.
* `start_time` (`Nullable(DateTime64)`) - Heure à laquelle un worker retire la tâche de la file d’attente des tâches prêtes et démarre son exécution. Null si la tâche n'a pas encore démarré.
* `finish_time` (`Nullable(DateTime64)`) - Heure à laquelle l'exécution de la tâche est terminée. Null si la tâche n'est pas encore terminée.

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

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