client.projects.wait(...) या client.exports.wait(...) का उपयोग करना चाहिए और client.tasks.* तक केवल तब पहुँचना चाहिए जब उन्हें low-level task inspection की आवश्यकता हो।
client.tasks.get(taskId, options?)
ID के आधार पर किसी task की वर्तमान स्थिति प्राप्त करें।
Task statuses
| Status | Terminal? | Meaning |
|---|---|---|
created | No | Task बन गया है लेकिन अभी queued नहीं हुआ है। |
queued | No | Task चलने के लिए इंतज़ार कर रहा है। |
in-progress | No | Task अभी निष्पादित हो रहा है। |
completed | Yes | Task सफलतापूर्वक पूरा हो गया। |
finalized | Yes | Task पूरा हो गया और post-processing हो चुकी है। |
failed | Yes | Task किसी त्रुटि के साथ विफल हो गया। |
cancelled | Yes | Task रद्द कर दिया गया। |
timed-out | Yes | Task ने अपनी time limit पार कर ली। |
client.tasks.wait(taskId, options?)
किसी task को poll करें जब तक वह terminal state तक न पहुँच जाए। सफलता पर अंतिम task लौटाता है; विफलता पर YoukaTaskError throw करता है।
Options
polls के बीच milliseconds। डिफ़ॉल्ट
2000 है।wait को abort करें। in-flight request और कोई भी pending delay तुरंत
cancel कर दिए जाते हैं।
Errors
जब taskfailed, cancelled, या timed-out पर समाप्त होता है, तो client.tasks.wait(...) YoukaTaskError throw करता है:
client.projects.wait(operation, options?)
किसी project-scoped operation के पूरा होने की प्रतीक्षा करें, फिर project को दोबारा fetch करें। operation handle, terminal task, और updated project लौटाता है।
आम तौर पर
client.projects.create(...),
client.projects.separateStems(...), या client.projects.syncLyrics(...) का परिणाम।client.exports.wait(operationOrId, options?)
किसी cloud export के terminal state तक पहुँचने की प्रतीक्षा करें। client.exports.create(...) द्वारा लौटाया गया ExportOperation या exportId string में से कोई एक पास करें।
Cancellation
लंबे समय तक चलने वाले wait को cancel करने के लिएAbortSignal पास करें:
What’s next
- Errors —
YoukaTaskErrorऔर retryable errors को handle करें - Exports — किसी export के पूरा होने की प्रतीक्षा करें
- API async jobs — raw HTTP में वही pattern
