client.projects.wait(...) أو client.exports.wait(...) وعدم اللجوء إلى client.tasks.* إلا عند الحاجة إلى فحص منخفض المستوى للمهمة.
client.tasks.get(taskId, options?)
اجلب الحالة الحالية لمهمة عبر المعرّف.
حالات المهام
| الحالة | نهائية؟ | المعنى |
|---|---|---|
created | لا | تم إنشاء المهمة لكن لم تُصفّ بعد. |
queued | لا | المهمة بانتظار التشغيل. |
in-progress | لا | المهمة قيد التنفيذ حاليًا. |
completed | نعم | انتهت المهمة بنجاح. |
finalized | نعم | انتهت المهمة واكتملت المعالجة اللاحقة. |
failed | نعم | فشلت المهمة مع حدوث خطأ. |
cancelled | نعم | تم إلغاء المهمة. |
timed-out | نعم | وصلت المهمة إلى حدها الزمني. |
client.tasks.wait(taskId, options?)
استطلع حالة المهمة حتى تصل إلى حالة نهائية. يُرجع المهمة النهائية عند النجاح، ويطلق YoukaTaskError عند الفشل.
الخيارات
عدد الملّي ثواني بين عمليات الاستطلاع. القيمة الافتراضية
2000.إلغاء الانتظار. يتم إلغاء الطلب الجاري وأي تأخير مُعلّق
فورًا.
الأخطاء
تُطلقclient.tasks.wait(...) خطأ YoukaTaskError عندما تنتهي المهمة بحالة failed أو cancelled أو timed-out:
client.projects.wait(operation, options?)
انتظر حتى تنتهي عملية ضمن نطاق المشروع، ثم أعد جلب المشروع. يُرجع مقبض العملية، والمهمة النهائية، والمشروع المحدّث.
عادةً ما يكون ناتج
client.projects.create(...),
client.projects.separateStems(...), أو client.projects.syncLyrics(...).client.exports.wait(operationOrId, options?)
انتظر حتى يصل تصدير سحابي إلى حالة نهائية. مرّر إمّا ExportOperation المُرجَع من client.exports.create(...) أو سلسلة exportId.
الإلغاء
مرّرAbortSignal لإلغاء انتظار طويل التشغيل:
ما التالي
- الأخطاء — التعامل مع
YoukaTaskErrorوالأخطاء القابلة لإعادة المحاولة - التصديرات — انتظار اكتمال التصدير
- وظائف API غير المتزامنة — النمط نفسه عبر HTTP الخام
