BatchJobManagerTask interface
تحديد تفاصيل مهمة مدير الوظيفة. يتم بدء مهمة مدير الوظيفة تلقائيا عند إنشاء الوظيفة. تحاول خدمة Batch جدولة مهمة مدير الوظيفة قبل أي مهام أخرى في الوظيفة. عند تقليص تجمع، تحاول خدمة الدفعات الاحتفاظ بالعقد حيث يتم تشغيل مهام مدير الوظائف لأطول فترة ممكنة (أي، تتم إزالة حساب العقد التي تعمل بالمهام "العادية" قبل حساب العقد التي تقوم بتشغيل مهام مدير الوظيفة). عندما تفشل مهمة مدير الوظيفة وتحتاج إلى إعادة التشغيل، يحاول النظام جدولتها بأعلى أولوية. إذا لم تكن هناك عقد حساب الخامة متوفرة، فقد يقوم النظام بإنهاء إحدى المهام قيد التشغيل في التجمع وإعادتها إلى قائمة الانتظار من أجل توفير مساحة لإعادة تشغيل مهمة مدير الوظيفة. لاحظ أن مهمة مدير الوظيفة في مهمة واحدة ليس لها أولوية على المهام في مهام أخرى. عبر الوظائف، يتم ملاحظة أولويات مستوى الوظيفة فقط. على سبيل المثال، إذا كان يجب إعادة تشغيل مدير وظيفة في مهمة ذات أولوية 0، فلن يؤدي ذلك إلى إزاحة المهام ذات الأولوية 1 المهمة. ستقوم الدفعة بإعادة محاولة المهام عند تشغيل عملية استرداد على عقدة. تتضمن أمثلة عمليات الاسترداد (على سبيل المثال لا الحصر) عند إعادة تشغيل عقدة غير صحية أو اختفاء عقدة حساب بسبب فشل المضيف. عمليات إعادة المحاولة بسبب عمليات الاسترداد مستقلة عن ولا يتم حسابها مقابل maxTaskRetryCount. حتى إذا كان maxTaskRetryCount هو 0، فقد تحدث إعادة محاولة داخلية بسبب عملية استرداد. ولهذا السبب، يجب أن تكون كافة المهام غير فعالة. وهذا يعني أن المهام تحتاج إلى التسامح مع المقاطعة وإعادة التشغيل دون التسبب في أي تلف أو بيانات مكررة. أفضل ممارسة للمهام طويلة الأمد هي استخدام شكل من أشكال نقاط التفتيش.
الخصائص
| allow |
ما إذا كانت مهمة مدير الوظيفة قد تعمل على عقدة حوسبة موضعية/منخفضة الأولوية. القيمة الافتراضية صحيحة. |
| application |
قائمة بحزم التطبيقات التي ستنشرها خدمة الدفعة على عقدة الحوسبة قبل تشغيل سطر الأوامر. يتم تنزيل حزم التطبيقات ونشرها في مجلد مشترك، وليس في دليل عمل المهام. لذلك، إذا كانت حزمة تطبيق مرجعية موجودة بالفعل على عقدة الحوسبة، وكانت محدثة، فلا يتم إعادة تحميلها؛ يتم استخدام النسخة الموجودة على عقدة الحوسبة. إذا لم يكن بالإمكان تثبيت حزمة تطبيق مشار إليها، على سبيل المثال لأن الحزمة تم حذفها أو فشل التحميل، تفشل المهمة. |
| authentication |
إعدادات الرمز المميز للمصادقة التي يمكن للمهمة استخدامها لتنفيذ عمليات خدمة الدفعات. إذا تم تعيين هذه الخاصية، توفر خدمة الدفعة للمهمة رمز مصادقة يمكن استخدامه لمصادقة عمليات خدمة الدفعة دون الحاجة إلى مفتاح وصول للحساب. يتم توفير الرمز عبر متغير البيئة AZ_BATCH_AUTHENTICATION_TOKEN. تعتمد العمليات التي يمكن للمهمة تنفيذها باستخدام الرمز على الإعدادات. على سبيل المثال، يمكن للمهمة طلب أذونات الوظيفة لإضافة مهام أخرى إلى الوظيفة، أو التحقق من حالة الوظيفة أو مهام أخرى تحت الوظيفة. |
| command |
سطر الأوامر لمهمة مدير الوظائف. لا يعمل سطر الأوامر تحت shell، وبالتالي لا يمكن الاستفادة من ميزات shell مثل توسيع متغير البيئة. إذا كنت ترغب في الاستفادة من هذه الميزات، يجب استدعاء shell في سطر الأوامر، على سبيل المثال باستخدام "cmd /c MyCommand" في Windows أو "/bin/sh -c MyCommand" في Linux. إذا كان سطر الأوامر يشير إلى مسارات الملفات، يجب أن يستخدم مسارا نسبيا (بالنسبة لدليل عمل المهمة)، أو يستخدم متغير البيئة المقدم من دفعة (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | القيود التي تنطبق على مهمة مدير الوظيفة. |
| container |
إعدادات الحاوية التي تعمل تحتها مهمة مدير الوظائف. إذا كان المجمع الذي سيشغل هذه المهمة يحتوي على تكوين containerConfiguration، فيجب تعيين هذا أيضا. إذا لم يكن لدى المجموعة التي ستشغل هذه المهمة تكوين containerConfiguration، فلا يجب أن يكون هذا ضبطا. عند تحديد ذلك، يتم تعيين جميع المجلدات بشكل متكرر أسفل AZ_BATCH_NODE_ROOT_DIR (جذر أدلة Azure Batch على العقدة) إلى الحاوية، ويتم تعيين جميع متغيرات بيئة المهمة إلى الحاوية، ويتم تنفيذ سطر أوامر المهمة داخل الحاوية. قد لا تنعكس الملفات المنتجة في الحاوية خارج AZ_BATCH_NODE_ROOT_DIR على قرص المضيف، مما يعني أن واجهات برمجة تطبيقات الملفات الدفعية لن تتمكن من الوصول إلى تلك الملفات. |
| display |
اسم العرض لمهمة مدير الوظيفة. لا يشترط أن يكون فريدا ويمكن أن يحتوي على أي أحرف يونيكود حتى طول أقصى يبلغ 1024. |
| environment |
قائمة بإعدادات متغيرات البيئة لمهمة مدير الوظائف. |
| id | سلسلة تحدد بشكل فريد مهمة مدير الوظائف داخل الوظيفة. يمكن أن يحتوي المعرف على أي تركيبة من الأحرف الأبجدية الرقمية بما في ذلك الشرطات والخطوط السفلية، ولا يمكن أن يحتوي على أكثر من 64 حرفا. |
| kill |
ما إذا كان إكمال مهمة مدير الوظيفة يعني إتمام المهمة بأكملها. إذا كان صحيحا، عند إكمال مهمة مدير الوظائف، تقوم خدمة الدفعة بوضع علامة على المهمة مكتملة. إذا كانت أي مهام لا تزال تعمل في الوقت الحالي (باستثناء إصدار الوظيفة)، يتم إنهاء تلك المهام. إذا كان خاطئا، فإن إكمال مهمة مدير الوظيفة لا يؤثر على حالة الوظيفة. في هذه الحالة، يجب عليك إما استخدام خاصية onAllTasksComplete لإنهاء الوظيفة، أو أن يقوم العميل أو المستخدم بإنهاء المهمة بشكل صريح. مثال على ذلك هو إذا قام مدير الوظيفة بإنشاء مجموعة من المهام ثم لم يتخذ دورا إضافيا في تنفيذها. القيمة الافتراضية صحيحة. إذا كنت تستخدم سمتي onAllTasksComplete و onTaskFailure للتحكم في عمر الوظيفة، وتستخدم مهمة مدير الوظيفة فقط لإنشاء المهام الخاصة بالمهمة (وليس لمراقبة التقدم)، فمن المهم تعيين killJobOnCompletion على false. |
| output |
قائمة بالملفات التي تقوم خدمة الدفعة برفعها من عقدة الحوسبة بعد تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثلات، سيتم رفع الملفات فقط من عقدة الحوسبة التي يتم تنفيذ المهمة الأساسية عليها. |
| required |
عدد فتحات الجدولة التي تتطلبها المهمة لتشغيلها. الإعداد الافتراضي هو 1. يمكن جدولة المهمة لتعمل على عقدة حوسبة فقط إذا كان لديها عدد كاف من فتحات الجدولة المتاحة. بالنسبة للمهام متعددة المثلات، هذه الخاصية غير مدعومة ولا يجب تحديدها. |
| resource |
قائمة بالملفات التي تقوم خدمة الدفعة بتنزيلها إلى عقدة الحوسبة قبل تشغيل سطر الأوامر. الملفات المدرجة تحت هذا العنصر موجودة في مجلد العمل الخاص بالمهمة. هناك حد أقصى لحجم قائمة ملفات الموارد. عندما يتجاوز الحد الأقصى للحجم، سيفشل الطلب ويصبح رمز خطأ الاستجابة هو RequestEntityTooLarge. إذا حدث ذلك، يجب تقليل حجم مجموعة ملفات الموارد. يمكن تحقيق ذلك باستخدام ملفات .zip، أو حزم التطبيقات، أو حاويات دوكر. |
| run |
ما إذا كانت مهمة مدير الوظائف تتطلب استخداما حصريا لعقدة الحوسبة حيث تعمل. إذا كان هذا صحيحا، فلن تعمل أي مهمة أخرى على نفس العقدة طالما أن مدير الوظائف يعمل. إذا كانت خاطئة، يمكن أن تعمل مهام أخرى في نفس الوقت مع مدير الوظائف على عقدة حسابية. عادة ما تحتسب مهمة مدير الوظائف ضمن حد المهام المتزامنة لعقدة الحوسبة، لذا يكون هذا ذا صلة فقط إذا سمحت عقدة الحوسبة بعدة مهام متزامنة. القيمة الافتراضية صحيحة. |
| user |
هوية المستخدم التي تعمل تحتها مهمة مدير الوظائف. إذا تم حذفها، تعمل المهمة كمستخدم غير إداري فريد من نوعها. |
تفاصيل الخاصية
allowLowPriorityNode
ما إذا كانت مهمة مدير الوظيفة قد تعمل على عقدة حوسبة موضعية/منخفضة الأولوية. القيمة الافتراضية صحيحة.
allowLowPriorityNode?: boolean
قيمة الخاصية
boolean
applicationPackageReferences
قائمة بحزم التطبيقات التي ستنشرها خدمة الدفعة على عقدة الحوسبة قبل تشغيل سطر الأوامر. يتم تنزيل حزم التطبيقات ونشرها في مجلد مشترك، وليس في دليل عمل المهام. لذلك، إذا كانت حزمة تطبيق مرجعية موجودة بالفعل على عقدة الحوسبة، وكانت محدثة، فلا يتم إعادة تحميلها؛ يتم استخدام النسخة الموجودة على عقدة الحوسبة. إذا لم يكن بالإمكان تثبيت حزمة تطبيق مشار إليها، على سبيل المثال لأن الحزمة تم حذفها أو فشل التحميل، تفشل المهمة.
applicationPackageReferences?: BatchApplicationPackageReference[]
قيمة الخاصية
authenticationTokenSettings
إعدادات الرمز المميز للمصادقة التي يمكن للمهمة استخدامها لتنفيذ عمليات خدمة الدفعات. إذا تم تعيين هذه الخاصية، توفر خدمة الدفعة للمهمة رمز مصادقة يمكن استخدامه لمصادقة عمليات خدمة الدفعة دون الحاجة إلى مفتاح وصول للحساب. يتم توفير الرمز عبر متغير البيئة AZ_BATCH_AUTHENTICATION_TOKEN. تعتمد العمليات التي يمكن للمهمة تنفيذها باستخدام الرمز على الإعدادات. على سبيل المثال، يمكن للمهمة طلب أذونات الوظيفة لإضافة مهام أخرى إلى الوظيفة، أو التحقق من حالة الوظيفة أو مهام أخرى تحت الوظيفة.
authenticationTokenSettings?: AuthenticationTokenSettings
قيمة الخاصية
commandLine
سطر الأوامر لمهمة مدير الوظائف. لا يعمل سطر الأوامر تحت 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
constraints
القيود التي تنطبق على مهمة مدير الوظيفة.
constraints?: BatchTaskConstraints
قيمة الخاصية
containerSettings
إعدادات الحاوية التي تعمل تحتها مهمة مدير الوظائف. إذا كان المجمع الذي سيشغل هذه المهمة يحتوي على تكوين containerConfiguration، فيجب تعيين هذا أيضا. إذا لم يكن لدى المجموعة التي ستشغل هذه المهمة تكوين containerConfiguration، فلا يجب أن يكون هذا ضبطا. عند تحديد ذلك، يتم تعيين جميع المجلدات بشكل متكرر أسفل AZ_BATCH_NODE_ROOT_DIR (جذر أدلة Azure Batch على العقدة) إلى الحاوية، ويتم تعيين جميع متغيرات بيئة المهمة إلى الحاوية، ويتم تنفيذ سطر أوامر المهمة داخل الحاوية. قد لا تنعكس الملفات المنتجة في الحاوية خارج AZ_BATCH_NODE_ROOT_DIR على قرص المضيف، مما يعني أن واجهات برمجة تطبيقات الملفات الدفعية لن تتمكن من الوصول إلى تلك الملفات.
containerSettings?: BatchTaskContainerSettings
قيمة الخاصية
displayName
اسم العرض لمهمة مدير الوظيفة. لا يشترط أن يكون فريدا ويمكن أن يحتوي على أي أحرف يونيكود حتى طول أقصى يبلغ 1024.
displayName?: string
قيمة الخاصية
string
environmentSettings
قائمة بإعدادات متغيرات البيئة لمهمة مدير الوظائف.
environmentSettings?: EnvironmentSetting[]
قيمة الخاصية
id
سلسلة تحدد بشكل فريد مهمة مدير الوظائف داخل الوظيفة. يمكن أن يحتوي المعرف على أي تركيبة من الأحرف الأبجدية الرقمية بما في ذلك الشرطات والخطوط السفلية، ولا يمكن أن يحتوي على أكثر من 64 حرفا.
id: string
قيمة الخاصية
string
killJobOnCompletion
ما إذا كان إكمال مهمة مدير الوظيفة يعني إتمام المهمة بأكملها. إذا كان صحيحا، عند إكمال مهمة مدير الوظائف، تقوم خدمة الدفعة بوضع علامة على المهمة مكتملة. إذا كانت أي مهام لا تزال تعمل في الوقت الحالي (باستثناء إصدار الوظيفة)، يتم إنهاء تلك المهام. إذا كان خاطئا، فإن إكمال مهمة مدير الوظيفة لا يؤثر على حالة الوظيفة. في هذه الحالة، يجب عليك إما استخدام خاصية onAllTasksComplete لإنهاء الوظيفة، أو أن يقوم العميل أو المستخدم بإنهاء المهمة بشكل صريح. مثال على ذلك هو إذا قام مدير الوظيفة بإنشاء مجموعة من المهام ثم لم يتخذ دورا إضافيا في تنفيذها. القيمة الافتراضية صحيحة. إذا كنت تستخدم سمتي onAllTasksComplete و onTaskFailure للتحكم في عمر الوظيفة، وتستخدم مهمة مدير الوظيفة فقط لإنشاء المهام الخاصة بالمهمة (وليس لمراقبة التقدم)، فمن المهم تعيين killJobOnCompletion على false.
killJobOnCompletion?: boolean
قيمة الخاصية
boolean
outputFiles
قائمة بالملفات التي تقوم خدمة الدفعة برفعها من عقدة الحوسبة بعد تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثلات، سيتم رفع الملفات فقط من عقدة الحوسبة التي يتم تنفيذ المهمة الأساسية عليها.
outputFiles?: OutputFile[]
قيمة الخاصية
requiredSlots
عدد فتحات الجدولة التي تتطلبها المهمة لتشغيلها. الإعداد الافتراضي هو 1. يمكن جدولة المهمة لتعمل على عقدة حوسبة فقط إذا كان لديها عدد كاف من فتحات الجدولة المتاحة. بالنسبة للمهام متعددة المثلات، هذه الخاصية غير مدعومة ولا يجب تحديدها.
requiredSlots?: number
قيمة الخاصية
number
resourceFiles
قائمة بالملفات التي تقوم خدمة الدفعة بتنزيلها إلى عقدة الحوسبة قبل تشغيل سطر الأوامر. الملفات المدرجة تحت هذا العنصر موجودة في مجلد العمل الخاص بالمهمة. هناك حد أقصى لحجم قائمة ملفات الموارد. عندما يتجاوز الحد الأقصى للحجم، سيفشل الطلب ويصبح رمز خطأ الاستجابة هو RequestEntityTooLarge. إذا حدث ذلك، يجب تقليل حجم مجموعة ملفات الموارد. يمكن تحقيق ذلك باستخدام ملفات .zip، أو حزم التطبيقات، أو حاويات دوكر.
resourceFiles?: ResourceFile[]
قيمة الخاصية
runExclusive
ما إذا كانت مهمة مدير الوظائف تتطلب استخداما حصريا لعقدة الحوسبة حيث تعمل. إذا كان هذا صحيحا، فلن تعمل أي مهمة أخرى على نفس العقدة طالما أن مدير الوظائف يعمل. إذا كانت خاطئة، يمكن أن تعمل مهام أخرى في نفس الوقت مع مدير الوظائف على عقدة حسابية. عادة ما تحتسب مهمة مدير الوظائف ضمن حد المهام المتزامنة لعقدة الحوسبة، لذا يكون هذا ذا صلة فقط إذا سمحت عقدة الحوسبة بعدة مهام متزامنة. القيمة الافتراضية صحيحة.
runExclusive?: boolean
قيمة الخاصية
boolean
userIdentity
هوية المستخدم التي تعمل تحتها مهمة مدير الوظائف. إذا تم حذفها، تعمل المهمة كمستخدم غير إداري فريد من نوعها.
userIdentity?: UserIdentity