BatchTask interface
ستقوم الدفعة بإعادة محاولة المهام عند تشغيل عملية استرداد على عقدة. تتضمن أمثلة عمليات الاسترداد (على سبيل المثال لا الحصر) عند إعادة تشغيل عقدة غير صحية أو اختفاء عقدة حساب بسبب فشل المضيف. عمليات إعادة المحاولة بسبب عمليات الاسترداد مستقلة عن ولا يتم حسابها مقابل maxTaskRetryCount. حتى إذا كان maxTaskRetryCount هو 0، فقد تحدث إعادة محاولة داخلية بسبب عملية استرداد. ولهذا السبب، يجب أن تكون كافة المهام غير فعالة. وهذا يعني أن المهام تحتاج إلى التسامح مع المقاطعة وإعادة التشغيل دون التسبب في أي تلف أو بيانات مكررة. أفضل ممارسة للمهام طويلة الأمد هي استخدام شكل من أشكال نقاط التفتيش.
الخصائص
| affinity |
تلميح محلي يمكن استخدامه من قبل خدمة الدفعات لاختيار عقدة حوسبة لبدء المهمة الجديدة عليها. |
| 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 على قرص المضيف، مما يعني أن واجهات برمجة تطبيقات الملفات الدفعية لن تتمكن من الوصول إلى تلك الملفات. |
| creation |
وقت إنشاء المهمة. |
| depends |
المهام التي تعتمد عليها هذه المهمة. لن يتم جدولة هذه المهمة حتى تكتمل جميع المهام التي تعتمد عليها بنجاح. إذا فشلت أي من تلك المهام واستنفدت عدد المحاولات الجديدة، فلن يتم جدولة هذه المهمة أبدا. |
| display |
اسم عرض للمهمة. لا يجب أن يكون اسم العرض فريدا ويمكن أن يحتوي على أي أحرف Unicode يصل طولها إلى 1024 كحد أقصى. |
| environment |
قائمة بإعدادات متغيرات البيئة الخاصة بالمهمة. |
| e |
ETag للمهمة. هذه سلسلة مبهمة. يمكنك استخدامه لاكتشاف ما إذا كانت المهمة قد تغيرت بين الطلبات. على وجه الخصوص، يمكنك تمرير ETag عند تحديث مهمة لتحديد أن تغييراتك يجب أن تدخل حيز التنفيذ فقط إذا لم يقوم أحد آخر بتعديل المهمة في هذه الأثناء. |
| execution |
معلومات عن تنفيذ المهمة. |
| exit |
كيف يجب أن تستجيب خدمة الدفعة عند اكتمال المهمة. |
| id | سلسلة تحدد بشكل فريد المهمة داخل الوظيفة. يمكن أن يحتوي المعرف على أي تركيبة من الأحرف الأبجدية الرقمية بما في ذلك الواصلات والتسطير السفلي، ولا يمكن أن يحتوي على أكثر من 64 حرفا. |
| last |
آخر وقت معدل في المهمة. |
| multi |
كائن يشير إلى أن المهمة هي مهمة متعددة الحالات، وتحتوي على معلومات حول كيفية تشغيل مهمة متعددة المشاكل. |
| node |
معلومات عن عقدة الحوسبة التي كانت المهمة تعمل عليها. |
| output |
قائمة بالملفات التي تقوم خدمة الدفعة برفعها من عقدة الحوسبة بعد تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثلات، سيتم رفع الملفات فقط من عقدة الحوسبة التي يتم تنفيذ المهمة الأساسية عليها. |
| previous |
الحالة السابقة للمهمة. لا يتم تعيين هذه الخاصية إذا كانت المهمة في حالتها النشطة الأولية. |
| previous |
الوقت الذي دخلت فيه المهمة حالتها السابقة. لا يتم تعيين هذه الخاصية إذا كانت المهمة في حالتها النشطة الأولية. |
| required |
عدد فتحات الجدولة التي تتطلبها المهمة لتشغيلها. الإعداد الافتراضي هو 1. يمكن جدولة المهمة لتعمل على عقدة حوسبة فقط إذا كان لديها عدد كاف من فتحات الجدولة المتاحة. بالنسبة للمهام متعددة الحالات، يجب أن يكون 1. |
| resource |
قائمة بالملفات التي تقوم خدمة الدفعة بتنزيلها إلى عقدة الحوسبة قبل تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثلات، سيتم تنزيل ملفات الموارد فقط إلى عقدة الحوسبة التي يتم تنفيذ المهمة الأساسية عليها. هناك حد أقصى لحجم قائمة ملفات الموارد. عندما يتجاوز الحد الأقصى للحجم، سيفشل الطلب ويصبح رمز خطأ الاستجابة هو RequestEntityTooLarge. إذا حدث ذلك، يجب تقليل حجم مجموعة ملفات الموارد. يمكن تحقيق ذلك باستخدام ملفات .zip، أو حزم التطبيقات، أو حاويات دوكر. |
| state | الحالة الحالية للمهمة. |
| state |
الوقت الذي دخلت فيه المهمة حالتها الحالية. |
| task |
إحصائيات استخدام الموارد للمهمة. |
| url | رابط المهمة. |
| user |
هوية المستخدم التي تعمل تحتها المهمة. إذا تم حذفها، تعمل المهمة كمستخدم غير إداري فريد من نوعها. |
تفاصيل الخاصية
affinityInfo
تلميح محلي يمكن استخدامه من قبل خدمة الدفعات لاختيار عقدة حوسبة لبدء المهمة الجديدة عليها.
affinityInfo?: BatchAffinityInfo
قيمة الخاصية
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
قيمة الخاصية
creationTime
وقت إنشاء المهمة.
creationTime: Date
قيمة الخاصية
Date
dependsOn
المهام التي تعتمد عليها هذه المهمة. لن يتم جدولة هذه المهمة حتى تكتمل جميع المهام التي تعتمد عليها بنجاح. إذا فشلت أي من تلك المهام واستنفدت عدد المحاولات الجديدة، فلن يتم جدولة هذه المهمة أبدا.
dependsOn?: BatchTaskDependencies
قيمة الخاصية
displayName
اسم عرض للمهمة. لا يجب أن يكون اسم العرض فريدا ويمكن أن يحتوي على أي أحرف Unicode يصل طولها إلى 1024 كحد أقصى.
displayName?: string
قيمة الخاصية
string
environmentSettings
قائمة بإعدادات متغيرات البيئة الخاصة بالمهمة.
environmentSettings?: EnvironmentSetting[]
قيمة الخاصية
eTag
ETag للمهمة. هذه سلسلة مبهمة. يمكنك استخدامه لاكتشاف ما إذا كانت المهمة قد تغيرت بين الطلبات. على وجه الخصوص، يمكنك تمرير ETag عند تحديث مهمة لتحديد أن تغييراتك يجب أن تدخل حيز التنفيذ فقط إذا لم يقوم أحد آخر بتعديل المهمة في هذه الأثناء.
eTag: string
قيمة الخاصية
string
executionInfo
exitConditions
كيف يجب أن تستجيب خدمة الدفعة عند اكتمال المهمة.
exitConditions?: ExitConditions
قيمة الخاصية
id
سلسلة تحدد بشكل فريد المهمة داخل الوظيفة. يمكن أن يحتوي المعرف على أي تركيبة من الأحرف الأبجدية الرقمية بما في ذلك الواصلات والتسطير السفلي، ولا يمكن أن يحتوي على أكثر من 64 حرفا.
id: string
قيمة الخاصية
string
lastModified
آخر وقت معدل في المهمة.
lastModified: Date
قيمة الخاصية
Date
multiInstanceSettings
كائن يشير إلى أن المهمة هي مهمة متعددة الحالات، وتحتوي على معلومات حول كيفية تشغيل مهمة متعددة المشاكل.
multiInstanceSettings?: MultiInstanceSettings
قيمة الخاصية
nodeInfo
معلومات عن عقدة الحوسبة التي كانت المهمة تعمل عليها.
nodeInfo?: BatchNodeInfo
قيمة الخاصية
outputFiles
قائمة بالملفات التي تقوم خدمة الدفعة برفعها من عقدة الحوسبة بعد تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثلات، سيتم رفع الملفات فقط من عقدة الحوسبة التي يتم تنفيذ المهمة الأساسية عليها.
outputFiles?: OutputFile[]
قيمة الخاصية
previousState
الحالة السابقة للمهمة. لا يتم تعيين هذه الخاصية إذا كانت المهمة في حالتها النشطة الأولية.
previousState?: BatchTaskState
قيمة الخاصية
previousStateTransitionTime
الوقت الذي دخلت فيه المهمة حالتها السابقة. لا يتم تعيين هذه الخاصية إذا كانت المهمة في حالتها النشطة الأولية.
previousStateTransitionTime?: Date
قيمة الخاصية
Date
requiredSlots
عدد فتحات الجدولة التي تتطلبها المهمة لتشغيلها. الإعداد الافتراضي هو 1. يمكن جدولة المهمة لتعمل على عقدة حوسبة فقط إذا كان لديها عدد كاف من فتحات الجدولة المتاحة. بالنسبة للمهام متعددة الحالات، يجب أن يكون 1.
requiredSlots?: number
قيمة الخاصية
number
resourceFiles
قائمة بالملفات التي تقوم خدمة الدفعة بتنزيلها إلى عقدة الحوسبة قبل تشغيل سطر الأوامر. بالنسبة للمهام متعددة المثلات، سيتم تنزيل ملفات الموارد فقط إلى عقدة الحوسبة التي يتم تنفيذ المهمة الأساسية عليها. هناك حد أقصى لحجم قائمة ملفات الموارد. عندما يتجاوز الحد الأقصى للحجم، سيفشل الطلب ويصبح رمز خطأ الاستجابة هو RequestEntityTooLarge. إذا حدث ذلك، يجب تقليل حجم مجموعة ملفات الموارد. يمكن تحقيق ذلك باستخدام ملفات .zip، أو حزم التطبيقات، أو حاويات دوكر.
resourceFiles?: ResourceFile[]
قيمة الخاصية
state
stateTransitionTime
الوقت الذي دخلت فيه المهمة حالتها الحالية.
stateTransitionTime: Date
قيمة الخاصية
Date
taskStatistics
إحصائيات استخدام الموارد للمهمة.
taskStatistics?: BatchTaskStatistics
قيمة الخاصية
url
رابط المهمة.
url: string
قيمة الخاصية
string
userIdentity
هوية المستخدم التي تعمل تحتها المهمة. إذا تم حذفها، تعمل المهمة كمستخدم غير إداري فريد من نوعها.
userIdentity?: UserIdentity