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

> 최근 비동기 작업(job)(예: 로드 중인 테이블 관련 작업)의 정보와 상태를 포함하는 시스템 테이블입니다. 이 테이블에는 각 작업(job)마다 하나의 행이 있습니다.

# system.asynchronous_loader

<Info>
  **ClickHouse Cloud에서 쿼리하기**

  이 시스템 테이블의 데이터는 ClickHouse Cloud의 각 노드에 로컬로 저장됩니다. 따라서 전체 데이터를 모두 확인하려면 `clusterAllReplicas` 함수를 사용해야 합니다. 자세한 내용은 [여기](/ko/reference/system-tables/overview#system-tables-in-clickhouse-cloud)를 참조하십시오.
</Info>

<div id="description">
  ## 설명
</div>

최근의 비동기 작업(예: 테이블 로딩)에 대한 정보와 상태를 담고 있습니다. 이 테이블에는 각 작업마다 하나의 행이 있습니다. 이 테이블의 정보를 시각화하는 도구로 `utils/async_loader_graph`를 사용할 수 있습니다.

<div id="columns">
  ## 컬럼
</div>

* `job` ([String](/ko/reference/data-types)) — 작업 이름입니다(고유하지 않을 수 있습니다).
* `job_id` ([UInt64](/ko/reference/data-types)) — 작업의 고유 ID입니다.
* `dependencies` ([Array(UInt64)](/ko/reference/data-types)) — 이 작업보다 먼저 완료되어야 하는 작업 ID 목록입니다.
* `dependencies_left` ([UInt64](/ko/reference/data-types)) — 아직 완료되지 않은 의존성의 현재 개수입니다.
* `status` ([Enum8('PENDING' = 0, 'OK' = 1, 'FAILED' = 2, 'CANCELED' = 3)](/ko/reference/data-types)) — 작업의 현재 로드 상태입니다. PENDING: 로드 작업이 아직 시작되지 않았습니다. OK: 로드 작업이 실행되어 성공했습니다. FAILED: 로드 작업이 실행되었지만 실패했습니다. CANCELED: 제거되었거나 의존성 실패로 인해 로드 작업이 실행되지 않습니다.
* `is_executing` ([UInt8](/ko/reference/data-types)) — 현재 워커가 이 작업을 실행 중입니다.
* `is_blocked` ([UInt8](/ko/reference/data-types)) — 이 작업은 의존성이 완료되기를 기다리고 있습니다.
* `is_ready` ([UInt8](/ko/reference/data-types)) — 이 작업은 실행할 준비가 되었으며 워커를 기다리고 있습니다.
* `elapsed` ([Float64](/ko/reference/data-types)) — 실행 시작 후 경과한 시간(초)입니다. 작업이 시작되지 않았다면 0입니다. 작업이 완료되었다면 총 실행 시간입니다.
* `pool_id` ([UInt64](/ko/reference/data-types)) — 현재 이 작업에 할당된 풀의 ID입니다.
* `pool` ([String](/ko/reference/data-types)) — `pool_id` 풀의 이름입니다.
* `priority` ([Int64](/ko/reference/data-types)) — `pool_id` 풀의 우선순위입니다.
* `execution_pool_id` ([UInt64](/ko/reference/data-types)) — 이 작업이 실행되는 풀의 ID입니다. 실행이 시작되기 전에는 처음 할당된 풀과 같습니다.
* `execution_pool` ([String](/ko/reference/data-types)) — `execution_pool_id` 풀의 이름입니다.
* `execution_priority` ([Int64](/ko/reference/data-types)) — `execution_pool_id` 풀의 우선순위입니다.
* `ready_seqno` ([Nullable(UInt64)](/ko/reference/data-types)) — 준비된 작업에서는 null이 아닙니다. 워커는 자신의 풀에 있는 준비 큐에서 다음에 실행할 작업을 가져옵니다. 준비된 작업이 여러 개이면 `ready_seqno` 값이 가장 낮은 작업이 선택됩니다.
* `waiters` ([UInt64](/ko/reference/data-types)) — 이 작업을 기다리는 스레드 수입니다.
* `exception` ([Nullable(String)](/ko/reference/data-types)) — 실패했거나 취소된 작업에서는 null이 아닙니다. 쿼리 실행 중 발생한 오류 메시지 또는 이 작업이 취소된 원인이 된 오류와 작업 이름의 의존성 실패 체인을 저장합니다.
* `schedule_time` ([DateTime64(6)](/ko/reference/data-types)) — 작업이 생성되어 실행되도록 예약된 시간입니다(일반적으로 모든 의존성과 함께 예약됨).
* `enqueue_time` ([Nullable(DateTime64(6))](/ko/reference/data-types)) — 작업이 준비 상태가 되어 해당 풀의 준비 큐에 추가된 시간입니다. 작업이 아직 준비되지 않았다면 null입니다.
* `start_time` ([Nullable(DateTime64(6))](/ko/reference/data-types)) — 워커가 준비 큐에서 작업을 꺼내 실행을 시작한 시간입니다. 작업이 아직 시작되지 않았다면 null입니다.
* `finish_time` ([Nullable(DateTime64(6))](/ko/reference/data-types)) — 작업 실행이 완료된 시간입니다. 작업이 아직 완료되지 않았다면 null입니다.

대기 중인 작업은 다음 상태 중 하나일 수 있습니다:

* `is_executing` (`UInt8`) - 현재 worker가 작업을 실행하고 있습니다.
* `is_blocked` (`UInt8`) - 작업은 종속 작업이 완료되기를 기다립니다.
* `is_ready` (`UInt8`) - 작업은 실행할 준비가 되어 있으며 worker를 기다립니다.
* `elapsed` (`Float64`) - 실행 시작 후 경과한 시간(초)입니다. 작업이 시작되지 않은 경우 0입니다. 작업이 완료된 경우 총 실행 시간입니다.

모든 작업에는 연결된 풀이 있으며, 작업은 이 풀에서 시작됩니다. 각 풀에는 고정된 우선순위와 변경 가능한 최대 워커 수가 있습니다. 우선순위가 더 높은(`priority` 값이 더 낮은) 작업이 먼저 실행됩니다. 더 높은 우선순위의 작업이 하나라도 준비 상태이거나 실행 중이면, 더 낮은 우선순위의 작업은 시작되지 않습니다. 작업의 우선순위는 우선 처리로 높일 수 있지만(낮출 수는 없음), 예를 들어 들어오는 쿼리에 이 table이 필요하면 table loading 및 시작을 위한 작업이 우선 처리됩니다. 작업 실행 중에도 우선순위를 높일 수 있지만, 작업은 자신의 `execution_pool`에서 새로 할당된 `pool`로 이동하지 않습니다. 이 작업은 우선순위 역전을 방지하기 위해 새 작업을 만들 때 `pool`을 사용합니다. 이미 시작된 작업은 더 높은 우선순위의 작업에 의해 선점되지 않으며, 시작된 뒤에는 항상 완료될 때까지 실행됩니다.

* `pool_id` (`UInt64`) - 현재 작업에 할당된 풀의 ID입니다.

* `pool` (`String`) - `pool_id` 풀의 이름입니다.

* `priority` (`Int64`) - `pool_id` 풀의 우선순위입니다.

* `execution_pool_id` (`UInt64`) - 작업이 실행되는 풀의 ID입니다. 실행이 시작되기 전에는 처음 할당된 풀과 같습니다.

* `execution_pool` (`String`) - `execution_pool_id` 풀의 이름입니다.

* `execution_priority` (`Int64`) - `execution_pool_id` 풀의 우선순위입니다.

* `ready_seqno` (`Nullable(UInt64)`) - 준비된 작업의 경우 null이 아닙니다. 워커는 자신의 풀의 준비 큐에서 다음에 실행할 작업을 가져옵니다. 준비된 작업이 여러 개이면 `ready_seqno` 값이 가장 낮은 작업이 선택됩니다.

* `waiters` (`UInt64`) - 이 작업을 기다리는 스레드 수입니다.

* `exception` (`Nullable(String)`) - 실패했거나 취소된 작업의 경우 null이 아닙니다. 쿼리 실행 중 발생한 오류 메시지 또는 이 작업의 취소로 이어진 오류와 작업 이름의 의존성 실패 chain을 함께 담습니다.

작업 수명 주기 동안의 시점:

* `schedule_time` (`DateTime64`) - 작업이 생성되어 실행되도록 예약된 시각입니다(일반적으로 모든 의존성과 함께 예약됨).
* `enqueue_time` (`Nullable(DateTime64)`) - 작업이 준비 상태가 되어 자신의 풀의 준비 큐에 들어간 시각입니다. 작업이 아직 준비되지 않았으면 Null입니다.
* `start_time` (`Nullable(DateTime64)`) - 워커가 준비 큐에서 작업을 꺼내 실행을 시작한 시각입니다. 작업이 아직 시작되지 않았으면 Null입니다.
* `finish_time` (`Nullable(DateTime64)`) - 작업 실행이 완료된 시각입니다. 작업이 아직 완료되지 않았으면 Null입니다.

<div id="example">
  ## 예시
</div>

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