مشاركة عبر


BatchJobManagerTask interface

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

الخصائص

allowLowPriorityNode

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

applicationPackageReferences

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

authenticationTokenSettings

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

commandLine

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

constraints

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

containerSettings

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

displayName

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

environmentSettings

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

id

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

killJobOnCompletion

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

outputFiles

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

requiredSlots

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

resourceFiles

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

runExclusive

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

userIdentity

هوية المستخدم التي تعمل تحتها مهمة مدير الوظائف. إذا تم حذفها، تعمل المهمة كمستخدم غير إداري فريد من نوعها.

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

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

قيمة الخاصية