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
الحالة الحالية للمهمة. تتضمن القيم المحتملة: "نشط" و"تحضير" و"قيد التشغيل" و"مكتمل"
- state_transition_time
- datetime
الحالة السابقة للمهمة. لم يتم تعيين هذه الخاصية إذا كانت المهمة في حالتها النشطة الأولية. تتضمن القيم المحتملة: "نشط" و"تحضير" و"قيد التشغيل" و"مكتمل"
- 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 لتحديد عقدة حساب لبدء المهمة الجديدة عليها.
- required_slots
- int
عدد فتحات الجدولة التي تتطلب المهمة تشغيلها. الإعداد الافتراضي هو 1. يمكن جدولة المهمة فقط للتشغيل على عقدة حساب إذا كانت العقدة تحتوي على فتحات جدولة مجانية كافية متوفرة. بالنسبة للمهام متعددة المثيلات، يجب أن يكون هذا 1.
- user_identity
- UserIdentity
هوية المستخدم التي يتم تشغيل المهمة بموجبها. إذا تم حذفها، يتم تشغيل المهمة كمستخدم غير إداري فريد للمهمة.
- multi_instance_settings
- MultiInstanceSettings
عنصر يشير إلى أن المهمة مهمة متعددة المثيلات، ويحتوي على معلومات حول كيفية تشغيل المهمة متعددة المثيلات.
- 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. القيمة هي القيمة الحالية في هذا الكائن. سيتم استخدام السلسلة التي تم إرجاعها لتسلسل المفتاح. إذا كان نوع الإرجاع عبارة عن قائمة، يعتبر هذا إملاءا للنتيجة الهرمية. راجع الأمثلة الثلاثة في هذا الملف:
إذا كنت تريد تسلسل 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
المرتجعات
كائن متوافق مع JSON
نوع الإرجاع
deserialize
تحليل سلسلة باستخدام بناء جملة RestAPI وإرجاع نموذج.
deserialize(data, content_type=None)
المعلمات
المرتجعات
مثيل لهذا النموذج
استثناءات
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)
المعلمات
- key_extractors
المرتجعات
مثيل لهذا النموذج
استثناءات
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)
المعلمات
المرتجعات
كائن متوافق مع JSON
نوع الإرجاع
validate
تحقق من صحة هذا النموذج بشكل متكرر وأعد قائمة ValidationError.
validate()
المرتجعات
قائمة بخطأ التحقق من الصحة
نوع الإرجاع
Azure SDK for Python