مشاركة عبر


StartTask interface

ستقوم الدفعة بإعادة محاولة المهام عند تشغيل عملية استرداد على عقدة. تتضمن أمثلة عمليات الاسترداد (على سبيل المثال لا الحصر) عند إعادة تشغيل عقدة غير صحية أو اختفاء عقدة حساب بسبب فشل المضيف. عمليات إعادة المحاولة بسبب عمليات الاسترداد مستقلة عن ولا يتم حسابها مقابل maxTaskRetryCount. حتى إذا كان maxTaskRetryCount هو 0، فقد تحدث إعادة محاولة داخلية بسبب عملية استرداد. ولهذا السبب، يجب أن تكون كافة المهام غير فعالة. وهذا يعني أن المهام تحتاج إلى التسامح مع المقاطعة وإعادة التشغيل دون التسبب في أي تلف أو بيانات مكررة. أفضل ممارسة للمهام طويلة الأمد هي استخدام شكل من أشكال نقاط التفتيش. في بعض الحالات قد تتم إعادة تشغيل StartTask على الرغم من عدم إعادة تشغيل عقدة الحوسبة. يجب توخي الحذر الخاص لتجنب StartTasks التي تنشئ عملية قطعية أو خدمات تثبيت/إطلاق من دليل عمل StartTask، حيث سيؤدي ذلك إلى منع Batch من القدرة على إعادة تشغيل StartTask.

الخصائص

commandLine

سطر الأوامر ل StartTask. لا يعمل سطر الأوامر تحت shell، وبالتالي لا يمكن الاستفادة من ميزات shell مثل توسيع متغير البيئة. إذا كنت ترغب في الاستفادة من هذه الميزات، يجب استدعاء shell في سطر الأوامر، على سبيل المثال باستخدام "cmd /c MyCommand" في Windows أو "/bin/sh -c MyCommand" في Linux. إذا كان سطر الأوامر يشير إلى مسارات الملفات، فيجب أن يستخدم مسارا نسبيا (بالنسبة إلى دليل عمل المهمة)، أو استخدام متغير البيئة المقدم من Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

containerSettings

إعدادات الحاوية التي يتم تشغيل StartTask ضمنها. عند تحديد ذلك، يتم تعيين جميع الدلائل بشكل متكرر أسفل AZ_BATCH_NODE_ROOT_DIR (جذر دلائل Azure Batch على العقدة) في الحاوية، ويتم تعيين كافة متغيرات بيئة المهمة في الحاوية، ويتم تنفيذ سطر أوامر المهمة في الحاوية. قد لا تنعكس الملفات التي يتم إنتاجها في الحاوية خارج AZ_BATCH_NODE_ROOT_DIR على القرص المضيف، ما يعني أن واجهات برمجة تطبيقات ملف Batch لن تتمكن من الوصول إلى هذه الملفات.

environmentSettings

قائمة إعدادات متغير البيئة ل StartTask.

maxTaskRetryCount

الحد الأقصى لعدد مرات إعادة محاولة المهمة. تعيد خدمة Batch محاولة مهمة إذا كانت التعليمة البرمجية للخروج الخاصة بها غير صفرية. لاحظ أن هذه القيمة تتحكم بشكل خاص في عدد مرات إعادة المحاولة. ستجرب خدمة Batch المهمة مرة واحدة، ثم قد تعيد المحاولة حتى هذا الحد. على سبيل المثال، إذا كان الحد الأقصى لعدد مرات إعادة المحاولة هو 3، فإن الدفعة تحاول المهمة حتى 4 مرات (محاولة أولية واحدة و3 محاولات). إذا كان الحد الأقصى لعدد مرات إعادة المحاولة هو 0، لا تعيد خدمة Batch محاولة المهمة. إذا كان الحد الأقصى لعدد مرات إعادة المحاولة هو -1، تعيد خدمة Batch محاولة المهمة دون حد.

resourceFiles

قائمة بالملفات التي ستقوم خدمة Batch بتنزيلها إلى عقدة الحساب قبل تشغيل سطر الأوامر. يوجد حد أقصى لحجم قائمة ملفات الموارد. عند تجاوز الحد الأقصى للحجم، سيفشل الطلب وسيكون رمز خطأ الاستجابة RequestEntityTooLarge. إذا حدث ذلك، يجب تصغير حجم مجموعة ResourceFiles. يمكن تحقيق ذلك باستخدام ملفات .zip أو حزم التطبيقات أو حاويات Docker. توجد الملفات المدرجة ضمن هذا العنصر في دليل عمل المهمة.

userIdentity

هوية المستخدم التي يتم تشغيل StartTask بموجبها. إذا تم حذفها، يتم تشغيل المهمة كمستخدم غير إداري فريد للمهمة.

waitForSuccess

ما إذا كان يجب أن تنتظر خدمة Batch حتى تكتمل StartTask بنجاح (أي للخروج باستخدام رمز الخروج 0) قبل جدولة أي مهام على عقدة الحساب. إذا كان صحيحا وفشل StartTask على عقدة، تعيد خدمة Batch محاولة StartTask حتى الحد الأقصى لعدد إعادة المحاولة (maxTaskRetryCount). إذا لم تكتمل المهمة بنجاح بعد جميع عمليات إعادة المحاولة، فإن خدمة Batch تحدد العقدة غير قابلة للاستخدام، ولن تقوم بجدولة المهام إليها. يمكن الكشف عن هذا الشرط عبر حالة عقدة الحساب وتفاصيل معلومات الفشل. إذا كانت خاطئة، فلن تنتظر خدمة Batch حتى تكتمل StartTask. في هذه الحالة، يمكن أن تبدأ المهام الأخرى في التنفيذ على عقدة الحساب بينما لا يزال StartTask قيد التشغيل؛ وحتى إذا فشل StartTask، فستستمر جدولة المهام الجديدة على عقدة الحساب. الإعداد الافتراضي صحيح.

تفاصيل الخاصية

commandLine

سطر الأوامر ل StartTask. لا يعمل سطر الأوامر تحت shell، وبالتالي لا يمكن الاستفادة من ميزات shell مثل توسيع متغير البيئة. إذا كنت ترغب في الاستفادة من هذه الميزات، يجب استدعاء shell في سطر الأوامر، على سبيل المثال باستخدام "cmd /c MyCommand" في Windows أو "/bin/sh -c MyCommand" في Linux. إذا كان سطر الأوامر يشير إلى مسارات الملفات، فيجب أن يستخدم مسارا نسبيا (بالنسبة إلى دليل عمل المهمة)، أو استخدام متغير البيئة المقدم من Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

commandLine: string

قيمة الخاصية

string

containerSettings

إعدادات الحاوية التي يتم تشغيل StartTask ضمنها. عند تحديد ذلك، يتم تعيين جميع الدلائل بشكل متكرر أسفل AZ_BATCH_NODE_ROOT_DIR (جذر دلائل Azure Batch على العقدة) في الحاوية، ويتم تعيين كافة متغيرات بيئة المهمة في الحاوية، ويتم تنفيذ سطر أوامر المهمة في الحاوية. قد لا تنعكس الملفات التي يتم إنتاجها في الحاوية خارج AZ_BATCH_NODE_ROOT_DIR على القرص المضيف، ما يعني أن واجهات برمجة تطبيقات ملف Batch لن تتمكن من الوصول إلى هذه الملفات.

containerSettings?: TaskContainerSettings

قيمة الخاصية

environmentSettings

قائمة إعدادات متغير البيئة ل StartTask.

environmentSettings?: EnvironmentSetting[]

قيمة الخاصية

maxTaskRetryCount

الحد الأقصى لعدد مرات إعادة محاولة المهمة. تعيد خدمة Batch محاولة مهمة إذا كانت التعليمة البرمجية للخروج الخاصة بها غير صفرية. لاحظ أن هذه القيمة تتحكم بشكل خاص في عدد مرات إعادة المحاولة. ستجرب خدمة Batch المهمة مرة واحدة، ثم قد تعيد المحاولة حتى هذا الحد. على سبيل المثال، إذا كان الحد الأقصى لعدد مرات إعادة المحاولة هو 3، فإن الدفعة تحاول المهمة حتى 4 مرات (محاولة أولية واحدة و3 محاولات). إذا كان الحد الأقصى لعدد مرات إعادة المحاولة هو 0، لا تعيد خدمة Batch محاولة المهمة. إذا كان الحد الأقصى لعدد مرات إعادة المحاولة هو -1، تعيد خدمة Batch محاولة المهمة دون حد.

maxTaskRetryCount?: number

قيمة الخاصية

number

resourceFiles

قائمة بالملفات التي ستقوم خدمة Batch بتنزيلها إلى عقدة الحساب قبل تشغيل سطر الأوامر. يوجد حد أقصى لحجم قائمة ملفات الموارد. عند تجاوز الحد الأقصى للحجم، سيفشل الطلب وسيكون رمز خطأ الاستجابة RequestEntityTooLarge. إذا حدث ذلك، يجب تصغير حجم مجموعة ResourceFiles. يمكن تحقيق ذلك باستخدام ملفات .zip أو حزم التطبيقات أو حاويات Docker. توجد الملفات المدرجة ضمن هذا العنصر في دليل عمل المهمة.

resourceFiles?: ResourceFile[]

قيمة الخاصية

userIdentity

هوية المستخدم التي يتم تشغيل StartTask بموجبها. إذا تم حذفها، يتم تشغيل المهمة كمستخدم غير إداري فريد للمهمة.

userIdentity?: UserIdentity

قيمة الخاصية

waitForSuccess

ما إذا كان يجب أن تنتظر خدمة Batch حتى تكتمل StartTask بنجاح (أي للخروج باستخدام رمز الخروج 0) قبل جدولة أي مهام على عقدة الحساب. إذا كان صحيحا وفشل StartTask على عقدة، تعيد خدمة Batch محاولة StartTask حتى الحد الأقصى لعدد إعادة المحاولة (maxTaskRetryCount). إذا لم تكتمل المهمة بنجاح بعد جميع عمليات إعادة المحاولة، فإن خدمة Batch تحدد العقدة غير قابلة للاستخدام، ولن تقوم بجدولة المهام إليها. يمكن الكشف عن هذا الشرط عبر حالة عقدة الحساب وتفاصيل معلومات الفشل. إذا كانت خاطئة، فلن تنتظر خدمة Batch حتى تكتمل StartTask. في هذه الحالة، يمكن أن تبدأ المهام الأخرى في التنفيذ على عقدة الحساب بينما لا يزال StartTask قيد التشغيل؛ وحتى إذا فشل StartTask، فستستمر جدولة المهام الجديدة على عقدة الحساب. الإعداد الافتراضي صحيح.

waitForSuccess?: boolean

قيمة الخاصية

boolean