> ## Documentation Index
> Fetch the complete documentation index at: https://docs.youka.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Async jobs and polling

> 작업 기반 쓰기, 태스크의 종료 상태, 그리고 어떤 리소스가 영속 상태를 보유하는지 이해합니다.

# 비동기 작업과 폴링

대부분의 쓰기 작업은 비동기식입니다.

## 즉시 반환되는 것

다음 엔드포인트는 작업을 접수하고 폴링할 수 있는 ID를 반환합니다:

* `POST /projects`
* `POST /projects/{projectId}/tasks/stem-separation`
* `POST /projects/{projectId}/tasks/lyrics-sync`
* `POST /projects/{projectId}/exports`

## 폴링할 대상

* 실행 상태와 하이드레이트된 태스크 출력값을 확인하려면 `GET /tasks/{taskId}`를 폴링하세요.
* 오래 유지되는 프로젝트 상태는 `GET /projects/{projectId}`에서 읽으세요.
* 최신 export 다운로드 URL은 `GET /exports/{exportId}`에서 읽으세요.

## 실용적인 폴링 모델

1. 변경 작업을 시작하고 반환된 ID를 저장합니다.
2. 태스크가 종료 상태에 도달할 때까지 `GET /tasks/{taskId}`를 폴링합니다.
3. 오래된 캐시 상태를 신뢰하지 말고 ID로 영속 리소스를 다시 읽습니다.
4. 다운로드의 경우, URL을 사용할 준비가 되면 `GET /exports/{exportId}`를 가져오세요.

## 이것이 중요한 이유

* 태스크 상태는 실행 타임라인입니다.
* 프로젝트 상태는 영속적인 단일 진실 공급원입니다.
* Export 다운로드 URL은 영구적인 것이 아니라 갱신 가능한 것으로 취급해야 합니다.
