BatchStartTask interface
ستقوم الدفعة بإعادة محاولة المهام عند تشغيل عملية استرداد على عقدة. تتضمن أمثلة عمليات الاسترداد (على سبيل المثال لا الحصر) عند إعادة تشغيل عقدة غير صحية أو اختفاء عقدة حساب بسبب فشل المضيف. عمليات إعادة المحاولة بسبب عمليات الاسترداد مستقلة عن ولا يتم حسابها مقابل maxTaskRetryCount. حتى إذا كان maxTaskRetryCount هو 0، فقد تحدث إعادة محاولة داخلية بسبب عملية استرداد. ولهذا السبب، يجب أن تكون كافة المهام غير فعالة. وهذا يعني أن المهام تحتاج إلى التسامح مع المقاطعة وإعادة التشغيل دون التسبب في أي تلف أو بيانات مكررة. أفضل ممارسة للمهام طويلة الأمد هي استخدام شكل من أشكال نقاط التفتيش. في بعض الحالات قد تتم إعادة تشغيل StartTask على الرغم من عدم إعادة تشغيل عقدة الحوسبة. يجب توخي الحذر الخاص لتجنب StartTasks التي تنشئ عملية قطعية أو خدمات تثبيت/إطلاق من دليل عمل StartTask، حيث سيؤدي ذلك إلى منع Batch من القدرة على إعادة تشغيل StartTask.
الخصائص
| command |
سطر الأوامر في مهمة StartTask. لا يعمل سطر الأوامر تحت shell، وبالتالي لا يمكن الاستفادة من ميزات shell مثل توسيع متغير البيئة. إذا كنت ترغب في الاستفادة من هذه الميزات، يجب استدعاء shell في سطر الأوامر، على سبيل المثال باستخدام "cmd /c MyCommand" في Windows أو "/bin/sh -c MyCommand" في Linux. إذا كان سطر الأوامر يشير إلى مسارات الملفات، يجب أن يستخدم مسارا نسبيا (بالنسبة لدليل عمل المهمة)، أو يستخدم متغير البيئة المقدم من دفعة (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| container |
إعدادات الحاوية التي تعمل تحتها مهمة البدء. عند تحديد ذلك، يتم تعيين جميع المجلدات بشكل متكرر أسفل AZ_BATCH_NODE_ROOT_DIR (جذر أدلة Azure Batch على العقدة) إلى الحاوية، ويتم تعيين جميع متغيرات بيئة المهمة إلى الحاوية، ويتم تنفيذ سطر أوامر المهمة داخل الحاوية. قد لا تنعكس الملفات المنتجة في الحاوية خارج AZ_BATCH_NODE_ROOT_DIR على قرص المضيف، مما يعني أن واجهات برمجة تطبيقات الملفات الدفعية لن تتمكن من الوصول إلى تلك الملفات. |
| environment |
قائمة بإعدادات متغيرات البيئة لمهمة StartTask. |
| max |
الحد الأقصى لعدد المرات التي يمكن إعادة محاولة المهمة. تعيد خدمة الدفعة محاولة مهمة إذا كان رمز الخروج فيها غير صفري. لاحظ أن هذه القيمة تتحكم بشكل خاص في عدد مرات إعادة المحاولة. خدمة الدفعة ستحاول المهمة مرة واحدة، وقد تعيد المحاولة حتى هذا الحد. على سبيل المثال، إذا كان الحد الأقصى لعدد المحاولات المتكررة 3، يحاول الدفعة المهمة حتى 4 مرات (محاولة أولية واحدة و3 محاولات). إذا كان الحد الأقصى لعدد المحاولات هو 0، فإن خدمة الدفعة لا تعيد محاولة المهمة. إذا كان الحد الأقصى لعدد المحاولات هو -1، تعيد خدمة الدفعة محاولة المهمة دون حدود، ومع ذلك لا ينصح بذلك لمهمة بدء أو أي مهمة. القيمة الافتراضية هي 0 (لا توجد محاولات). |
| resource |
قائمة بالملفات التي تقوم خدمة الدفعة بتنزيلها إلى عقدة الحوسبة قبل تشغيل سطر الأوامر. هناك حد أقصى لحجم قائمة ملفات الموارد. عندما يتجاوز الحد الأقصى للحجم، سيفشل الطلب ويصبح رمز خطأ الاستجابة هو RequestEntityTooLarge. إذا حدث ذلك، يجب تقليل حجم مجموعة ملفات الموارد. يمكن تحقيق ذلك باستخدام ملفات .zip، أو حزم التطبيقات، أو حاويات دوكر. الملفات المدرجة تحت هذا العنصر موجودة في مجلد العمل الخاص بالمهمة. |
| user |
هوية المستخدم التي تعمل تحتها مهمة البدء. إذا تم حذفها، تعمل المهمة كمستخدم غير إداري فريد من نوعها. |
| wait |
ما إذا كان يجب على خدمة الدفعة الانتظار حتى تكتمل مهمة البداية بنجاح (أي للخروج برمز خروج 0) قبل جدولة أي مهام على عقدة الحوسبة. إذا كانت صحيحة وفشلت مهمة البداية على عقدة، تعيد خدمة الدفعة محاولة مهمة البدء حتى أقصى عدد من المحاولات (maxTaskRetryCount). إذا لم تكتمل المهمة بنجاح بعد جميع الإعادات، فإن خدمة الدفعة تضع علامة على العقدة غير قابلة للاستخدام، ولن تقوم بجدولة المهام عليها. يمكن اكتشاف هذه الحالة من خلال حالة عقدة الحساب وتفاصيل معلومات الفشل. إذا كانت خاطئة، فلن تنتظر خدمة الدفعة حتى تكتمل مهمة التشغيل. في هذه الحالة، يمكن أن تبدأ مهام أخرى في التنفيذ على عقدة الحوسبة بينما لا تزال مهمة البدء تعمل؛ وحتى إذا فشل مهمة البدء، ستستمر المهام الجديدة في الجدولة على عقدة الحوسبة. الإعداد الافتراضي صحيح. |
تفاصيل الخاصية
commandLine
سطر الأوامر في مهمة StartTask. لا يعمل سطر الأوامر تحت shell، وبالتالي لا يمكن الاستفادة من ميزات shell مثل توسيع متغير البيئة. إذا كنت ترغب في الاستفادة من هذه الميزات، يجب استدعاء shell في سطر الأوامر، على سبيل المثال باستخدام "cmd /c MyCommand" في Windows أو "/bin/sh -c MyCommand" في Linux. إذا كان سطر الأوامر يشير إلى مسارات الملفات، يجب أن يستخدم مسارا نسبيا (بالنسبة لدليل عمل المهمة)، أو يستخدم متغير البيئة المقدم من دفعة (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
قيمة الخاصية
string
containerSettings
إعدادات الحاوية التي تعمل تحتها مهمة البدء. عند تحديد ذلك، يتم تعيين جميع المجلدات بشكل متكرر أسفل AZ_BATCH_NODE_ROOT_DIR (جذر أدلة Azure Batch على العقدة) إلى الحاوية، ويتم تعيين جميع متغيرات بيئة المهمة إلى الحاوية، ويتم تنفيذ سطر أوامر المهمة داخل الحاوية. قد لا تنعكس الملفات المنتجة في الحاوية خارج AZ_BATCH_NODE_ROOT_DIR على قرص المضيف، مما يعني أن واجهات برمجة تطبيقات الملفات الدفعية لن تتمكن من الوصول إلى تلك الملفات.
containerSettings?: BatchTaskContainerSettings
قيمة الخاصية
environmentSettings
قائمة بإعدادات متغيرات البيئة لمهمة StartTask.
environmentSettings?: EnvironmentSetting[]
قيمة الخاصية
maxTaskRetryCount
الحد الأقصى لعدد المرات التي يمكن إعادة محاولة المهمة. تعيد خدمة الدفعة محاولة مهمة إذا كان رمز الخروج فيها غير صفري. لاحظ أن هذه القيمة تتحكم بشكل خاص في عدد مرات إعادة المحاولة. خدمة الدفعة ستحاول المهمة مرة واحدة، وقد تعيد المحاولة حتى هذا الحد. على سبيل المثال، إذا كان الحد الأقصى لعدد المحاولات المتكررة 3، يحاول الدفعة المهمة حتى 4 مرات (محاولة أولية واحدة و3 محاولات). إذا كان الحد الأقصى لعدد المحاولات هو 0، فإن خدمة الدفعة لا تعيد محاولة المهمة. إذا كان الحد الأقصى لعدد المحاولات هو -1، تعيد خدمة الدفعة محاولة المهمة دون حدود، ومع ذلك لا ينصح بذلك لمهمة بدء أو أي مهمة. القيمة الافتراضية هي 0 (لا توجد محاولات).
maxTaskRetryCount?: number
قيمة الخاصية
number
resourceFiles
قائمة بالملفات التي تقوم خدمة الدفعة بتنزيلها إلى عقدة الحوسبة قبل تشغيل سطر الأوامر. هناك حد أقصى لحجم قائمة ملفات الموارد. عندما يتجاوز الحد الأقصى للحجم، سيفشل الطلب ويصبح رمز خطأ الاستجابة هو RequestEntityTooLarge. إذا حدث ذلك، يجب تقليل حجم مجموعة ملفات الموارد. يمكن تحقيق ذلك باستخدام ملفات .zip، أو حزم التطبيقات، أو حاويات دوكر. الملفات المدرجة تحت هذا العنصر موجودة في مجلد العمل الخاص بالمهمة.
resourceFiles?: ResourceFile[]
قيمة الخاصية
userIdentity
هوية المستخدم التي تعمل تحتها مهمة البدء. إذا تم حذفها، تعمل المهمة كمستخدم غير إداري فريد من نوعها.
userIdentity?: UserIdentity
قيمة الخاصية
waitForSuccess
ما إذا كان يجب على خدمة الدفعة الانتظار حتى تكتمل مهمة البداية بنجاح (أي للخروج برمز خروج 0) قبل جدولة أي مهام على عقدة الحوسبة. إذا كانت صحيحة وفشلت مهمة البداية على عقدة، تعيد خدمة الدفعة محاولة مهمة البدء حتى أقصى عدد من المحاولات (maxTaskRetryCount). إذا لم تكتمل المهمة بنجاح بعد جميع الإعادات، فإن خدمة الدفعة تضع علامة على العقدة غير قابلة للاستخدام، ولن تقوم بجدولة المهام عليها. يمكن اكتشاف هذه الحالة من خلال حالة عقدة الحساب وتفاصيل معلومات الفشل. إذا كانت خاطئة، فلن تنتظر خدمة الدفعة حتى تكتمل مهمة التشغيل. في هذه الحالة، يمكن أن تبدأ مهام أخرى في التنفيذ على عقدة الحوسبة بينما لا تزال مهمة البدء تعمل؛ وحتى إذا فشل مهمة البدء، ستستمر المهام الجديدة في الجدولة على عقدة الحوسبة. الإعداد الافتراضي صحيح.
waitForSuccess?: boolean
قيمة الخاصية
boolean