إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
لمراقبة حلول Azure Batch واسعة النطاق وإدارتها، قد تحتاج إلى تحديد عدد الموارد في حالات مختلفة. يوفر Azure Batch عمليات فعالة للحصول على عدد مهام الدفعات وعقد الحساب. يمكنك استخدام هذه العمليات بدلا من استعلامات القائمة التي قد تستغرق وقتا طويلا والتي ترجع معلومات مفصلة حول مجموعات كبيرة من المهام أو العقد.
الحصول على عدد المهام يحصل على عدد إجمالي من المهام النشطة والتشغيلية والمكتملة في وظيفة، والمهام التي نجحت أو فشلت. من خلال حساب المهام في كل حالة، يمكنك بسهولة عرض تقدم المهمة للمستخدم، أو الكشف عن التأخيرات أو الإخفاقات غير المتوقعة التي قد تؤثر على المهمة.
عدد عقد تجمع القائمة يحصل على عدد عقد الحوسبة المخصصة والموضعية في كل تجمع في حالات مختلفة: الإنشاء، الخمول، دون اتصال، استباق، إعادة التشغيل، إعادة التعيين، البدء، وغيرها. من خلال حساب العقد في كل حالة، يمكنك تحديد متى يكون لديك موارد حساب كافية لتشغيل وظائفك، وتحديد المشكلات المحتملة مع مجموعاتك.
في بعض الأحيان، قد لا تكون الأرقام التي تم إرجاعها بواسطة هذه العمليات محدثة. إذا كنت بحاجة إلى التأكد من دقة العدد، فاستخدم استعلام قائمة لحساب هذه الموارد. تتيح لك استعلامات القائمة أيضا الحصول على معلومات حول موارد Batch الأخرى مثل التطبيقات. لمزيد من المعلومات حول تطبيق عوامل التصفية على استعلامات القائمة، راجع إنشاء استعلامات لسرد موارد الدفعات بكفاءة.
عدد حالة المهمة
تحسب Get عملية عدد المهام المهام حسب الحالات التالية:
-
نشط: مهمة في قائمة الانتظار وجاهزة للتشغيل ولكنها غير معينة حاليا إلى أي عقدة حساب. تكون المهمة أيضا
activeإذا كانت تعتمد على مهمة أصل لم تكتمل بعد. -
قيد التشغيل: مهمة تم تعيينها إلى عقدة حساب ولكن لم تنته بعد. يتم حساب المهمة على أنها
runningعندما تكون حالتها إماpreparingأوrunning، كما هو موضح فيGetالمعلومات حول عملية مهمة . - مكتمل: مهمة لم تعد مؤهلة للتشغيل، لأنها إما انتهت بنجاح، أو انتهت دون جدوى واستنفدت أيضا حد إعادة المحاولة الخاص بها.
-
Succeeded: مهمة حيث تكون نتيجة تنفيذ المهمة هي
success. تحدد Batch ما إذا كانت المهمة قد نجحت أو فشلت عن طريق التحققTaskExecutionResultمن خاصية executionInfo . -
فشل: مهمة حيث تكون نتيجة تنفيذ المهمة هي
failure.
يوضح نموذج التعليمات البرمجية .NET التالي كيفية استرداد عدد المهام حسب الحالة.
var taskCounts = await batchClient.JobOperations.GetJobTaskCountsAsync("job-1");
Console.WriteLine("Task count in active state: {0}", taskCounts.Active);
Console.WriteLine("Task count in preparing or running state: {0}", taskCounts.Running);
Console.WriteLine("Task count in completed state: {0}", taskCounts.Completed);
Console.WriteLine("Succeeded task count: {0}", taskCounts.Succeeded);
Console.WriteLine("Failed task count: {0}", taskCounts.Failed);
يمكنك استخدام نمط مشابه ل REST واللغات المدعومة الأخرى للحصول على عدد المهام لوظيفة.
عدد حالة العقدة
تحسب عملية List Pool Node Counts عقد الحساب حسب الحالات التالية في كل تجمع. يتم توفير أعداد تجميعية منفصلة للعقد المخصصة والعقد الموضعية في كل تجمع.
- الإنشاء: جهاز ظاهري مخصص من Azure لم يبدأ بعد في الانضمام إلى تجمع.
- الخاملة: عقدة حساب متوفرة ولا تقوم حاليا بتشغيل أي مهام.
- مغادرةPool: عقدة تغادر التجمع، إما لأن المستخدم قام بإزالته بشكل صريح أو لأن التجمع يتم تغيير حجمه أو تغيير حجمه تلقائيا.
- غير متصل: عقدة لا يمكن أن تستخدمها Batch لجدولة مهام جديدة.
-
Preempted: عقدة Spot التي تمت إزالتها من التجمع لأن Azure استرجع الجهاز الظاهري.
preemptedيمكن إعادة تهيئة العقدة عند توفر سعة Spot VM البديلة. - إعادة التشغيل: عقدة يتم إعادة تشغيلها.
- إعادة التعيين: عقدة حيث يتم إعادة تثبيت نظام التشغيل.
- تشغيل : عقدة تقوم بتشغيل مهمة واحدة أو أكثر (بخلاف مهمة البدء).
- البدء: عقدة حيث يتم بدء تشغيل خدمة الدفعات.
-
StartTaskFailed: عقدة حيث فشلت مهمة البدء بعد جميع عمليات إعادة المحاولة، ويتم
waitForSuccessتمكينها. يتعذر على هذه العقدة تشغيل المهام. - غير معروف: عقدة فقدت الاتصال بخدمة Batch ولا تعرف حالتها.
- غير قابل للاستخدام: عقدة لا يمكن استخدامها لتنفيذ المهمة بسبب الأخطاء.
-
WaitingForStartTask: عقدة يتم تشغيل مهمة البدء عليها، ولكن
waitForSuccessيتم تمكينها ولم تكتمل.
توضح القصاصة البرمجية C# التالية كيفية سرد عدد العقد لكافة التجمعات في الحساب الحالي:
foreach (var nodeCounts in batchClient.PoolOperations.ListPoolNodeCounts())
{
Console.WriteLine("Pool Id: {0}", nodeCounts.PoolId);
Console.WriteLine("Total dedicated node count: {0}", nodeCounts.Dedicated.Total);
// Get dedicated node counts in Idle and Offline states; you can get additional states.
Console.WriteLine("Dedicated node count in Idle state: {0}", nodeCounts.Dedicated.Idle);
Console.WriteLine("Dedicated node count in Offline state: {0}", nodeCounts.Dedicated.Offline);
Console.WriteLine("Total Spot node count: {0}", nodeCounts.LowPriority.Total);
// Get Spot node counts in Running and Preempted states; you can get additional states.
Console.WriteLine("Spot node count in Running state: {0}", nodeCounts.LowPriority.Running);
Console.WriteLine("Spot node count in Preempted state: {0}", nodeCounts.LowPriority.Preempted);
}
توضح القصاصة البرمجية C# التالية كيفية سرد عدد العقد لتجمع معين في الحساب الحالي.
foreach (var nodeCounts in batchClient.PoolOperations.ListPoolNodeCounts(new ODATADetailLevel(filterClause: "poolId eq 'testpool'")))
{
Console.WriteLine("Pool Id: {0}", nodeCounts.PoolId);
Console.WriteLine("Total dedicated node count: {0}", nodeCounts.Dedicated.Total);
// Get dedicated node counts in Idle and Offline states; you can get additional states.
Console.WriteLine("Dedicated node count in Idle state: {0}", nodeCounts.Dedicated.Idle);
Console.WriteLine("Dedicated node count in Offline state: {0}", nodeCounts.Dedicated.Offline);
Console.WriteLine("Total Spot node count: {0}", nodeCounts.LowPriority.Total);
// Get Spot node counts in Running and Preempted states; you can get additional states.
Console.WriteLine("Spot node count in Running state: {0}", nodeCounts.LowPriority.Running);
Console.WriteLine("Spot node count in Preempted state: {0}", nodeCounts.LowPriority.Preempted);
}
يمكنك استخدام نمط مشابه ل REST واللغات المدعومة الأخرى للحصول على عدد العقد للمجموعات.
الخطوات التالية
- اطلع على سير عمل خدمة "الدُفعة" ومواردها الأساسية مثل المجموعات والعُقد والمهام.
- تعرف على كيفية تطبيق عوامل التصفية على الاستعلامات التي تسرد موارد Batch، راجع إنشاء استعلامات لسرد موارد Batch بكفاءة.