Zum Hauptinhalt springen

Asynchrone Jobs und Polling

Die meisten Schreibvorgänge sind asynchron.

Was sofort zurückgegeben wird

Diese Endpunkte nehmen Arbeit entgegen und geben IDs zurück, die Sie abfragen können:
  • POST /projects
  • POST /projects/{projectId}/tasks/stem-separation
  • POST /projects/{projectId}/tasks/lyrics-sync
  • POST /projects/{projectId}/exports

Was abgefragt werden sollte

  • Fragen Sie GET /tasks/{taskId} nach dem Ausführungsstatus und der hydratisierten Task-Ausgabe ab.
  • Lesen Sie GET /projects/{projectId} für langlebigen Projektzustand.
  • Lesen Sie GET /exports/{exportId} für aktuelle Export-Download-URLs.

Praktisches Polling-Modell

  1. Starten Sie eine Mutation und speichern Sie die zurückgegebenen IDs.
  2. Fragen Sie GET /tasks/{taskId} ab, bis die Aufgabe einen terminalen Status erreicht.
  3. Lesen Sie die dauerhafte Ressource per ID erneut, statt veraltetem, gecachtem Zustand zu vertrauen.
  4. Für Downloads rufen Sie GET /exports/{exportId} ab, wenn Sie bereit sind, die URL zu verwenden.

Warum das wichtig ist

  • Der Task-Status ist der Ausführungszeitverlauf.
  • Der Projektzustand ist die dauerhafte „Source of Truth“.
  • Export-Download-URLs sollten als aktualisierbar statt als dauerhaft behandelt werden.