سؤال

أنا أستخدم Quartz Scheduler v.1.8.0.

ما الفرق بين Scheduler.Standby () و Scheduler.pauseall ()?

تعليق() - توقف مؤقتًا عن إطلاق جدولة المشغلات.

وقفة جميع() - إيقاف جميع المشغلات - على غرار استدعاء Pausetriggerroup (المجموعة) على كل مجموعة ، ومع ذلك ، بعد استخدام هذه الطريقة ، يجب استدعاء ResumeAl () لمسح حالة "التذكر" في "التذكر" بأنه سيتم إيقاف جميع المشغلات الجديدة عند إضافتها.

استنادًا إلى ما فهمته من وثائق API ، لا أستطيع التمييز/التمييز بوضوح/التمييز بوضوح عن كل واحد منهم. أرى كلاهما يخدم نفس الغرض - مؤقتًا مؤقتًا/وقف جميع المشغلات في المجدول ، ثم يتبعه لاحقًا أ بداية() (للاستعداد) أو استئناف الكل() (ل pauseall) لمسح دولة الجدولة. هل هناك أي فرق آخر؟

الأمل يمكن أن يساعدني الخبراء في فهم أي فرق دقيق.

هل كانت مفيدة؟

المحلول

الفرق في تعليمات اختلال الزناد التي تطبق السلوك.

عندما تستدعي START () بعد الاستعداد () ، سيتم تجاهل أي اختلال ، والذي يظهر أثناء الاستعداد.

عندما تستدعي ResumeAlel () بعد Pauseall () ، سيتم تطبيق جميع الضلالات ، التي تظهر أثناء توقف الجدولة ،.

نصائح أخرى

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

لقد أحدثت فرقًا في BOLD في الوصف التالي من مستندات API.

تعليق :

void Standby () يلقي Schedulerexception مؤقتًا إيقاف إطلاق جدولة المشغلات.

عندما يتم استدعاء Start () (لإحضار الجدولة من وضع الاستعداد) ، فلن يتم تطبيق تعليمات الضخمة التي تعمل على تطبيقها أثناء تنفيذ طريقة البداية () - سيتم اكتشاف أي خاطئين بعد ذلك مباشرة (بواسطة العملية العادية لمستشر Jobstore) .

لم يتم تدمير المجدول ، ويمكن إعادة تشغيله في أي وقت.

وقفة جميع :

void pauseall () يلقي schedulerexception إيقاف جميع المشغلات - على غرار استدعاء pausetriggergroup (مجموعة) على كل مجموعة ، ومع ذلك ، بعد استخدام هذه الطريقة يجب أن يتم استدعاءها لتوضيح حالة الجدولة المتمثلة يضافون.

عندما يتم استدعاء ResumeAll () (إلى غير الموزّر) ، سيتم تطبيق تعليمات غير ضبابية.

إليك ما حصلت عليه من Code Source V1.8.6:

standby() ببساطة يجمد موضوع الجدولة ، مما يعني أنه لن يتم إطلاق المزيد من المشغل من الآن فصاعدًا ، حتى تلك المشغلات الجديدة المضافة لاحقًا.

start() ما عليك سوى استئناف موضوع الجدولة ، ولن يطبق سياسات الاختلال في الحال. ولكن سيتم تطبيق جميع الضلالات في وقت لاحق بشكل طبيعي.

pauseAll() يشبه المكالمة pauseTriggerGroup() على كل الآن مجموعات الزناد الحالية, ، مما يعني أن مجموعات الزناد الجديدة التي تمت إضافتها لاحقًا سيتم إطلاقها بشكل طبيعي. ويرجى ملاحظة أنه لا يوجد شيء pauseJob() أو pauseJobGroup(), ، الأمر يتعلق فقط بما يحدث في المشغلات ومجموعاتهم.

resumeAll() يشبه المكالمة resumeTriggerGroup() في كل الآن مجموعات الزناد الحالية. بالإضافة إلى ذلك ، سيتم تطبيق ضلالات أثناء تنفيذ resumeAll().

Start () و STANDBY () هي أساليب ثابتة. ستستمر الحالات الأخرى التي تعمل في الوضع المجمعة في تشغيل الوظائف.

ينطبق ResumeAl () و pauseall () على الكتلة بأكملها.

في حين pauseAll() توقف كل شيء جداول (تم إنشاؤه بالفعل في تلك اللحظة) ، standby() توقف مؤقت جدولة نفسها. وبالتالي عند إنشاء جدول جديد ، بعد pauseAll() سيتم تحديد موعدها وتشغيلها بشكل مناسب ، ولكن في حالة standby() إنه لا يتم استدعاء طريقة "Start ()" في وقت مبكر من جدولة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top