مشاركة عبر


JobManagerTask interface

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

الخصائص

allowLowPriorityNode

ما إذا كان قد يتم تشغيل مهمة مدير الوظيفة على عقدة حساب ذات أولوية منخفضة. القيمة الافتراضية صحيحة.

applicationPackageReferences

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

authenticationTokenSettings

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

commandLine

سطر الأوامر لمهمة مدير الوظيفة. لا يعمل سطر الأوامر تحت 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).

constraints

القيود التي تنطبق على مهمة مدير الوظيفة.

containerSettings

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

displayName

اسم العرض لمهمة مدير الوظيفة. لا تحتاج إلى أن تكون فريدة من نوعها ويمكن أن تحتوي على أي أحرف Unicode تصل إلى الحد الأقصى لطول 1024.

environmentSettings

قائمة بإعدادات متغير البيئة لمهمة مدير الوظيفة.

id

سلسلة تعرف مهمة مدير الوظائف بشكل فريد داخل الوظيفة. يمكن أن يحتوي المعرف على أي تركيبة من الأحرف الأبجدية الرقمية بما في ذلك الواصلات والتسطير السفلي ولا يمكن أن يحتوي على أكثر من 64 حرفا.

killJobOnCompletion

ما إذا كان إكمال مهمة مدير الوظيفة يشير إلى إكمال المهمة بأكملها. إذا كان صحيحا، عند اكتمال مهمة مدير الوظيفة، فإن خدمة Batch تقوم بعلامات المهمة كمكتملة. إذا كانت أي مهام لا تزال قيد التشغيل في الوقت الحالي (بخلاف إصدار المهمة)، يتم إنهاء هذه المهام. إذا كان خطأ، لا يؤثر إكمال مهمة مدير الوظيفة على حالة الوظيفة. في هذه الحالة، يجب عليك إما استخدام السمة onAllTasksComplete لإنهاء المهمة، أو أن يكون لديك عميل أو مستخدم ينهي الوظيفة بشكل صريح. مثال على ذلك هو إذا كان مدير الوظائف ينشئ مجموعة من المهام ولكن بعد ذلك لا يأخذ أي دور آخر في تنفيذها. القيمة الافتراضية صحيحة. إذا كنت تستخدم السمتين onAllTasksComplete وonTaskFailure للتحكم في عمر المهمة، واستخدام مهمة مدير الوظيفة فقط لإنشاء المهام للوظيفة (وليس لمراقبة التقدم)، فمن المهم تعيين killJobOnCompletion إلى false.

outputFiles

قائمة بالملفات التي ستقوم خدمة Batch بتحميلها من عقدة الحساب بعد تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثيلات، سيتم تحميل الملفات فقط من عقدة الحساب التي يتم تنفيذ المهمة الأساسية عليها.

requiredSlots

عدد فتحات الجدولة التي تتطلب المهمة تشغيلها. الإعداد الافتراضي هو 1. يمكن جدولة المهمة فقط للتشغيل على عقدة حساب إذا كانت العقدة تحتوي على فتحات جدولة مجانية كافية متوفرة. بالنسبة للمهام متعددة المثيلات، يجب أن يكون هذا 1.

resourceFiles

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

runExclusive

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

userIdentity

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

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

allowLowPriorityNode

ما إذا كان قد يتم تشغيل مهمة مدير الوظيفة على عقدة حساب ذات أولوية منخفضة. القيمة الافتراضية صحيحة.

allowLowPriorityNode?: boolean

قيمة الخاصية

boolean

applicationPackageReferences

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

applicationPackageReferences?: ApplicationPackageReference[]

قيمة الخاصية

authenticationTokenSettings

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

authenticationTokenSettings?: AuthenticationTokenSettings

قيمة الخاصية

commandLine

سطر الأوامر لمهمة مدير الوظيفة. لا يعمل سطر الأوامر تحت 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

constraints

القيود التي تنطبق على مهمة مدير الوظيفة.

constraints?: TaskConstraints

قيمة الخاصية

containerSettings

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

containerSettings?: TaskContainerSettings

قيمة الخاصية

displayName

اسم العرض لمهمة مدير الوظيفة. لا تحتاج إلى أن تكون فريدة من نوعها ويمكن أن تحتوي على أي أحرف Unicode تصل إلى الحد الأقصى لطول 1024.

displayName?: string

قيمة الخاصية

string

environmentSettings

قائمة بإعدادات متغير البيئة لمهمة مدير الوظيفة.

environmentSettings?: EnvironmentSetting[]

قيمة الخاصية

id

سلسلة تعرف مهمة مدير الوظائف بشكل فريد داخل الوظيفة. يمكن أن يحتوي المعرف على أي تركيبة من الأحرف الأبجدية الرقمية بما في ذلك الواصلات والتسطير السفلي ولا يمكن أن يحتوي على أكثر من 64 حرفا.

id: string

قيمة الخاصية

string

killJobOnCompletion

ما إذا كان إكمال مهمة مدير الوظيفة يشير إلى إكمال المهمة بأكملها. إذا كان صحيحا، عند اكتمال مهمة مدير الوظيفة، فإن خدمة Batch تقوم بعلامات المهمة كمكتملة. إذا كانت أي مهام لا تزال قيد التشغيل في الوقت الحالي (بخلاف إصدار المهمة)، يتم إنهاء هذه المهام. إذا كان خطأ، لا يؤثر إكمال مهمة مدير الوظيفة على حالة الوظيفة. في هذه الحالة، يجب عليك إما استخدام السمة onAllTasksComplete لإنهاء المهمة، أو أن يكون لديك عميل أو مستخدم ينهي الوظيفة بشكل صريح. مثال على ذلك هو إذا كان مدير الوظائف ينشئ مجموعة من المهام ولكن بعد ذلك لا يأخذ أي دور آخر في تنفيذها. القيمة الافتراضية صحيحة. إذا كنت تستخدم السمتين onAllTasksComplete وonTaskFailure للتحكم في عمر المهمة، واستخدام مهمة مدير الوظيفة فقط لإنشاء المهام للوظيفة (وليس لمراقبة التقدم)، فمن المهم تعيين killJobOnCompletion إلى false.

killJobOnCompletion?: boolean

قيمة الخاصية

boolean

outputFiles

قائمة بالملفات التي ستقوم خدمة Batch بتحميلها من عقدة الحساب بعد تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثيلات، سيتم تحميل الملفات فقط من عقدة الحساب التي يتم تنفيذ المهمة الأساسية عليها.

outputFiles?: OutputFile[]

قيمة الخاصية

requiredSlots

عدد فتحات الجدولة التي تتطلب المهمة تشغيلها. الإعداد الافتراضي هو 1. يمكن جدولة المهمة فقط للتشغيل على عقدة حساب إذا كانت العقدة تحتوي على فتحات جدولة مجانية كافية متوفرة. بالنسبة للمهام متعددة المثيلات، يجب أن يكون هذا 1.

requiredSlots?: number

قيمة الخاصية

number

resourceFiles

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

resourceFiles?: ResourceFile[]

قيمة الخاصية

runExclusive

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

runExclusive?: boolean

قيمة الخاصية

boolean

userIdentity

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

userIdentity?: UserIdentity

قيمة الخاصية