Passer au contenu principal
Interroger dans ClickHouse CloudLes 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 pour plus de détails.

Description

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.

Colonnes

  • job (String) — Nom de la tâche (peut ne pas être unique).
  • job_id (UInt64) — ID unique de la tâche.
  • dependencies (Array(UInt64)) — Liste des ID des tâches qui doivent être terminées avant celle-ci.
  • dependencies_left (UInt64) — Nombre actuel de dépendances restant à terminer.
  • status (Enum8(‘PENDING’ = 0, ‘OK’ = 1, ‘FAILED’ = 2, ‘CANCELED’ = 3)) — 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) — La tâche est actuellement exécutée 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.
  • pool_id (UInt64) — ID d’un pool actuellement attribué à la tâche.
  • pool (String) — Nom du pool pool_id.
  • priority (Int64) — Priorité du pool pool_id.
  • execution_pool_id (UInt64) — 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) — 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. 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) — Nombre de threads en attente sur cette tâche.
  • exception (Nullable(String)) — 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)) — 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))) — 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))) — 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))) — 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.

Exemple

SELECT *
FROM system.asynchronous_loader
LIMIT 1
FORMAT Vertical
Dernière modification le 25 juin 2026