메인 콘텐츠로 건너뛰기

비동기 작업과 폴링

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

즉시 반환되는 것

다음 엔드포인트는 작업을 접수하고 폴링할 수 있는 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은 영구적인 것이 아니라 갱신 가능한 것으로 취급해야 합니다.