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

> Tabela do sistema que contém informações e o status de jobs assíncronos recentes (por exemplo, de tabelas que estão sendo carregadas). A tabela contém uma linha para cada job.

# system.asynchronous_loader

<Info>
  **Consultas no ClickHouse Cloud**

  Os dados nesta tabela de sistema são mantidos localmente em cada nó do ClickHouse Cloud. Portanto, para obter uma visão completa de todos os dados, é necessário usar a função `clusterAllReplicas`. Consulte [aqui](/pt-BR/reference/system-tables/overview#system-tables-in-clickhouse-cloud) para mais detalhes.
</Info>

<div id="description">
  ## Descrição
</div>

Contém informações e o status de jobs assíncronos recentes (por exemplo, para o carregamento de tabelas). A tabela contém uma linha para cada job. Há uma ferramenta para visualizar informações dessa tabela, `utils/async_loader_graph`.

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

* `job` ([String](/pt-BR/reference/data-types)) — Nome do job (pode não ser único).
* `job_id` ([UInt64](/pt-BR/reference/data-types)) — ID único do job.
* `dependencies` ([Array(UInt64)](/pt-BR/reference/data-types)) — Lista de IDs dos jobs que devem ser concluídos antes deste job.
* `dependencies_left` ([UInt64](/pt-BR/reference/data-types)) — Número atual de dependências que ainda precisam ser concluídas.
* `status` ([Enum8('PENDING' = 0, 'OK' = 1, 'FAILED' = 2, 'CANCELED' = 3)](/pt-BR/reference/data-types)) — Status atual de carregamento de um job: PENDING: o job de carregamento ainda não foi iniciado. OK: o job de carregamento foi executado com sucesso. FAILED: o job de carregamento foi executado e falhou. CANCELED: o job de carregamento não será executado devido à remoção ou à falha de dependência.
* `is_executing` ([UInt8](/pt-BR/reference/data-types)) — O job está sendo executado no momento por um worker.
* `is_blocked` ([UInt8](/pt-BR/reference/data-types)) — O job aguarda a conclusão das dependências.
* `is_ready` ([UInt8](/pt-BR/reference/data-types)) — O job está pronto para ser executado e aguarda um worker.
* `elapsed` ([Float64](/pt-BR/reference/data-types)) — Segundos decorridos desde o início da execução. Zero se o job ainda não tiver sido iniciado. Tempo total de execução se o job tiver terminado.
* `pool_id` ([UInt64](/pt-BR/reference/data-types)) — ID de um pool atualmente atribuído ao job.
* `pool` ([String](/pt-BR/reference/data-types)) — Nome do pool `pool_id`.
* `priority` ([Int64](/pt-BR/reference/data-types)) — Prioridade do pool `pool_id`.
* `execution_pool_id` ([UInt64](/pt-BR/reference/data-types)) — ID do pool em que o job é executado. Inicialmente, é igual ao pool atribuído antes do início da execução.
* `execution_pool` ([String](/pt-BR/reference/data-types)) — Nome do pool `execution_pool_id`.
* `execution_priority` ([Int64](/pt-BR/reference/data-types)) — Prioridade do pool `execution_pool_id`.
* `ready_seqno` ([Nullable(UInt64)](/pt-BR/reference/data-types)) — Não nulo para jobs prontos. O worker retira o próximo job a ser executado da fila de prontos do seu pool. Se houver vários jobs prontos, será escolhido o job com o menor valor de `ready_seqno`.
* `waiters` ([UInt64](/pt-BR/reference/data-types)) — Número de threads aguardando este job.
* `exception` ([Nullable(String)](/pt-BR/reference/data-types)) — Não nulo para jobs com falha e cancelados. Contém a mensagem de erro gerada durante a execução da consulta ou o erro que levou ao cancelamento deste job, junto com a cadeia de falhas de dependência dos nomes dos jobs.
* `schedule_time` ([DateTime64(6)](/pt-BR/reference/data-types)) — Momento em que o job foi criado e agendado para execução (geralmente com todas as suas dependências).
* `enqueue_time` ([Nullable(DateTime64(6))](/pt-BR/reference/data-types)) — Momento em que o job ficou pronto e foi enfileirado na fila de prontos do seu pool. Nulo se o job ainda não estiver pronto.
* `start_time` ([Nullable(DateTime64(6))](/pt-BR/reference/data-types)) — Momento em que o worker remove o job da fila de prontos e inicia sua execução. Nulo se o job ainda não tiver sido iniciado.
* `finish_time` ([Nullable(DateTime64(6))](/pt-BR/reference/data-types)) — Momento em que a execução do job é concluída. Nulo se o job ainda não tiver sido concluído.

Um job pendente pode estar em um dos seguintes estados:

* `is_executing` (`UInt8`) - O job está sendo executado no momento por um worker.
* `is_blocked` (`UInt8`) - O job está aguardando a conclusão de suas dependências.
* `is_ready` (`UInt8`) - O job está pronto para ser executado e está aguardando um worker.
* `elapsed` (`Float64`) - Segundos decorridos desde o início da execução. Zero se o job não tiver sido iniciado. Tempo total de execução se o job tiver sido concluído.

Todo job tem um pool associado e é iniciado nesse pool. Cada pool tem uma prioridade constante e um número máximo variável de workers. Jobs com prioridade mais alta (valor de `priority` menor) são executados primeiro. Nenhum job com prioridade mais baixa é iniciado enquanto houver pelo menos um job de prioridade mais alta pronto ou em execução. A prioridade de um job pode ser elevada (mas não reduzida) ao priorizá-lo. Por exemplo, jobs de carregamento e inicialização de tabela serão priorizados se uma consulta de entrada exigir essa tabela. É possível priorizar um job durante sua execução, mas o job não é movido do seu `execution_pool` para o `pool` recém-atribuído. O job usa `pool` para criar novos jobs, a fim de evitar inversão de prioridade. Jobs já iniciados não sofrem preempção por jobs de prioridade mais alta e, depois de iniciados, sempre são executados até a conclusão.

* `pool_id` (`UInt64`) - ID do pool atualmente atribuído ao job.

* `pool` (`String`) - Nome do pool `pool_id`.

* `priority` (`Int64`) - Prioridade do pool `pool_id`.

* `execution_pool_id` (`UInt64`) - ID do pool em que o job é executado. Inicialmente, é igual ao pool atribuído antes do início da execução.

* `execution_pool` (`String`) - Nome do pool `execution_pool_id`.

* `execution_priority` (`Int64`) - Prioridade do pool `execution_pool_id`.

* `ready_seqno` (`Nullable(UInt64)`) - Não nulo para jobs prontos. O worker extrai o próximo job a ser executado da fila de prontos do seu pool. Se houver vários jobs prontos, será escolhido o job com o menor valor de `ready_seqno`.

* `waiters` (`UInt64`) - Número de threads esperando por esse job.

* `exception` (`Nullable(String)`) - Não nulo para jobs com falha e cancelados. Contém a mensagem de erro gerada durante a execução da consulta ou o erro que levou ao cancelamento desse job, juntamente com a cadeia de falha de dependência dos nomes dos jobs.

Instantes durante o ciclo de vida do job:

* `schedule_time` (`DateTime64`) - Momento em que o job foi criado e agendado para execução (geralmente com todas as suas dependências).
* `enqueue_time` (`Nullable(DateTime64)`) - Momento em que o job ficou pronto e foi enfileirado na fila de prontos do seu pool. Nulo se o job ainda não estiver pronto.
* `start_time` (`Nullable(DateTime64)`) - Momento em que o worker remove o job da fila de prontos e inicia sua execução. Nulo se o job ainda não tiver sido iniciado.
* `finish_time` (`Nullable(DateTime64)`) - Momento em que a execução do job é concluída. Nulo se o job ainda não tiver sido concluído.

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

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