CloudTask الفصل

مهمة Azure Batch.

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

توريث
CloudTask

الدالمنشئ

CloudTask(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, exit_conditions=None, state=None, state_transition_time=None, previous_state=None, previous_state_transition_time=None, command_line: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, execution_info=None, node_info=None, multi_instance_settings=None, stats=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)

المعلمات

id
str
مطلوب

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

display_name
str
مطلوب

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

url
str
مطلوب
e_tag
str
مطلوب

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

last_modified
datetime
مطلوب
creation_time
datetime
مطلوب
exit_conditions
ExitConditions
مطلوب

كيف يجب أن تستجيب خدمة Batch عند اكتمال المهمة.

state
str أو TaskState
مطلوب

الحالة الحالية للمهمة. تتضمن القيم المحتملة: "نشط" و"تحضير" و"قيد التشغيل" و"مكتمل"

state_transition_time
datetime
مطلوب
previous_state
str أو TaskState
مطلوب

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

previous_state_transition_time
datetime
مطلوب

لم يتم تعيين هذه الخاصية إذا كانت المهمة في حالتها النشطة الأولية.

command_line
str
مطلوب

بالنسبة للمهام متعددة المثيلات، يتم تنفيذ سطر الأوامر كمهمة أساسية، بعد انتهاء المهمة الأساسية وجميع المهام الفرعية من تنفيذ سطر أوامر التنسيق. لا يعمل سطر الأوامر تحت 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).

container_settings
TaskContainerSettings
مطلوب

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

resource_files
list[ResourceFile]
مطلوب

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

output_files
list[OutputFile]
مطلوب

بالنسبة للمهام متعددة المثيلات، سيتم تحميل الملفات فقط من عقدة الحساب التي يتم تنفيذ المهمة الأساسية عليها.

environment_settings
list[EnvironmentSetting]
مطلوب
affinity_info
AffinityInformation
مطلوب

تلميح محلي يمكن استخدامه بواسطة خدمة Batch لتحديد عقدة حساب لبدء المهمة الجديدة عليها.

constraints
TaskConstraints
مطلوب

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

required_slots
int
مطلوب

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

user_identity
UserIdentity
مطلوب

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

execution_info
TaskExecutionInformation
مطلوب

معلومات حول تنفيذ المهمة.

node_info
ComputeNodeInformation
مطلوب

معلومات حول عقدة الحساب التي تم تشغيل المهمة عليها.

multi_instance_settings
MultiInstanceSettings
مطلوب

عنصر يشير إلى أن المهمة مهمة متعددة المثيلات، ويحتوي على معلومات حول كيفية تشغيل المهمة متعددة المثيلات.

stats
TaskStatistics
مطلوب

إحصائيات استخدام الموارد للمهمة.

depends_on
TaskDependencies
مطلوب

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

application_package_references
list[ApplicationPackageReference]
مطلوب

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

authentication_token_settings
AuthenticationTokenSettings
مطلوب

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

الأساليب

as_dict

إرجاع إملاء يمكن أن يكون JSONify باستخدام json.dump.

قد يستخدم الاستخدام المتقدم رد اتصال كمعلمة اختياريا:

المفتاح هو اسم السمة المستخدم في Python. Attr_desc هو قالب من بيانات التعريف. يحتوي حاليا على "type" مع نوع msrest و"المفتاح" مع المفتاح المشفرة RestAPI. القيمة هي القيمة الحالية في هذا الكائن.

سيتم استخدام السلسلة التي تم إرجاعها لتسلسل المفتاح. إذا كان نوع الإرجاع عبارة عن قائمة، يعتبر هذا إملاءا للنتيجة الهرمية.

راجع الأمثلة الثلاثة في هذا الملف:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

إذا كنت تريد تسلسل XML، يمكنك تمرير kwargs is_xml=True.

deserialize

تحليل سلسلة باستخدام بناء جملة RestAPI وإرجاع نموذج.

enable_additional_properties_sending
from_dict

تحليل الإملاء باستخدام مستخرج مفتاح معين يرجع نموذجا.

بشكل افتراضي، ضع في اعتبارك المستخرجات الرئيسية (rest_key_case_insensitive_extractor attribute_key_case_insensitive_extractor last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

إرجاع JSON الذي سيتم إرساله إلى azure من هذا النموذج.

هذا اسم مستعار as_dict(full_restapi_key_transformer, keep_readonly=False).

إذا كنت تريد تسلسل XML، يمكنك تمرير kwargs is_xml=True.

validate

تحقق من صحة هذا النموذج بشكل متكرر وأعد قائمة ValidationError.

as_dict

إرجاع إملاء يمكن أن يكون JSONify باستخدام json.dump.

قد يستخدم الاستخدام المتقدم رد اتصال كمعلمة اختياريا:

المفتاح هو اسم السمة المستخدم في Python. Attr_desc هو قالب من بيانات التعريف. يحتوي حاليا على "type" مع نوع msrest و"المفتاح" مع المفتاح المشفرة RestAPI. القيمة هي القيمة الحالية في هذا الكائن.

سيتم استخدام السلسلة التي تم إرجاعها لتسلسل المفتاح. إذا كان نوع الإرجاع عبارة عن قائمة، يعتبر هذا إملاءا للنتيجة الهرمية.

راجع الأمثلة الثلاثة في هذا الملف:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

إذا كنت تريد تسلسل XML، يمكنك تمرير kwargs is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

المعلمات

key_transformer
<xref:function>

دالة محول مفاتيح.

keep_readonly
القيمة الافتراضية: True

المرتجعات

كائن متوافق مع JSON

نوع الإرجاع

deserialize

تحليل سلسلة باستخدام بناء جملة RestAPI وإرجاع نموذج.

deserialize(data, content_type=None)

المعلمات

data
str
مطلوب

سلسلة باستخدام بنية RestAPI. JSON بشكل افتراضي.

content_type
str
القيمة الافتراضية: None

JSON بشكل افتراضي، قم بتعيين application/xml إذا XML.

المرتجعات

مثيل لهذا النموذج

استثناءات

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

تحليل الإملاء باستخدام مستخرج مفتاح معين يرجع نموذجا.

بشكل افتراضي، ضع في اعتبارك المستخرجات الرئيسية (rest_key_case_insensitive_extractor attribute_key_case_insensitive_extractor last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

المعلمات

data
dict
مطلوب

إملاء باستخدام بنية RestAPI

content_type
str
القيمة الافتراضية: None

JSON بشكل افتراضي، قم بتعيين application/xml إذا XML.

key_extractors
القيمة الافتراضية: None

المرتجعات

مثيل لهذا النموذج

استثناءات

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

إرجاع JSON الذي سيتم إرساله إلى azure من هذا النموذج.

هذا اسم مستعار as_dict(full_restapi_key_transformer, keep_readonly=False).

إذا كنت تريد تسلسل XML، يمكنك تمرير kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

المعلمات

keep_readonly
bool
القيمة الافتراضية: False

إذا كنت تريد تسلسل السمات للقراءة فقط

المرتجعات

كائن متوافق مع JSON

نوع الإرجاع

validate

تحقق من صحة هذا النموذج بشكل متكرر وأعد قائمة ValidationError.

validate()

المرتجعات

قائمة بخطأ التحقق من الصحة

نوع الإرجاع