قائمة انتظار الطلبات المؤجلة
توجد حالات استخدام يتم فيها تعيين كيان إلى الحالة التي تنتظر تنفيذ مهمة لاحقة بشكل غير متزامن قبل أن يتمكن من التقدم في مراحله. يتم تنفيذ هذه المهمة باستخدام قواعد المراقبة المضافة إلى تعريف حالة كائن العمل الخاص بالكيان بالإضافة إلى التحكم في مجموعة المعالجة. لا تتم معالجة قواعد المراقبة هذه على الفور عندما يدخل السجل في هذه الحالة، بل يتم تأجيلها عند تشغيل مجموعة المعالجة المرتبطة بعد ذلك.
توضح الأقسام التالية مفاهيم وميزات آلية المعالجة في أقرب وقت فعلي.
طلب المعالجة في أقرب وقت فعلي
عندما يدخل كيان في حالة مرتبطة بقواعد مراقبة مؤجلة تعتمد على الوقت، يمكن تقديم طلب لمعالجة هذه القواعد في أقرب وقت ممكن بعد تثبيت المعاملة الحالية.
-
لإرسال الكيان دائمًا للمعالجة في أقرب وقت فعلي عندما يصل إلى حالة محددة، قم بإضافة خوارزمية "إضافة طلب مؤجل" (F1-DFREQADDN) "إدخال" إلى تعريف حالة كائن العمل المعني. لمزيد من المعلومات، ارجع إلى الوصف التفصيلي للخوارزمية.
-
يمكنك استخدام وظيفة DeferredRequestAPI في خوارزمية تستند إلى Groovy لتنفيذ قواعد مخصصة حول وقت وكيفية إضافة هذا الطلب إلى قائمة الانتظار.
-
وعند الاقتضاء، تدعم وظيفة مزامنة البيانات العامة أيضًا خيارًا للمعالجة في أقرب وقت فعلي تستخدم قائمة انتظار الطلبات المؤجلة.
معالجة الاستثناءات
وعند الاقتضاء، تسمح الكيانات المرسلة المطلوب معالجتها في أقرب وقت فعلي بجدولة مجموعة معالجة المراقبة المقابلة بشكل أقل نظرًا لأنها لم تعد بحاجة إلى تلبية متطلبات معدل التكرار في أقرب وقت فعلي. مع معالجة معظم السجلات بنجاح بواسطة آلية أقرب وقت فعلي، يتم استخدام مجموعة معالجة المراقبة بشكل أساسي لمعالجة الاستثناءات.
الطلبات المرتبطة
بشكل افتراضي، تمت معالجة الرسائل الموجودة في قائمة الانتظار بدون ترتيب محدد. في الحالات التي تقوم فيها رسائل متعددة بتحديث نفس المورد، قد تكون هناك حاجة لمعالجتها بشكل متسلسل لمنع أخطاء التزامن.
عند إضافة رسالة إلى قائمة الانتظار، يمكن أن تشير الرسالة اختياريًا إلى الكيان الرئيسي الذي تقوم بتحديثه بغرض ربطها برسائل أخرى تقوم بتحديث نفس الكيان. تمت معالجة الرسائل التي تشير صراحةً إلى نفس الكيان الرئيسي بشكل تسلسلي.
تطبيق تأخير الاستطلاع
عندما ترتبط الحالة الحالية لكيان بقواعد المراقبة التي تنتظر استيفاء شرط معين لتحديد الحالة التالية التي يجب أن ينتقل إليها الكيان، لا يكفي تنفيذ قواعد المراقبة هذه مرة واحدة. لا يمكن استيفاء الشرط مبدئيًا ولكن يمكن استيفاؤه خلال فترة زمنية قصيرة. في هذه الحالة، يمكن أن يشير الطلب المؤجل الذي تم وضعه في قائمة الانتظار إلى أنه يتطلب تأخير الاستطلاع.
عند طلب تأخير الاستطلاع، تتم معالجة رسالة الطلب المؤجلة في قائمة الانتظار كما يلي:
- عند إضافة الرسالة إلى قائمة الانتظار، تتم الإشارة إلى الحالة الحالية للكيان المرتبط.
- بعد معالجة الرسالة بنجاح، إذا ظلت حالة الكيان المرتبط دون تغيير، يقوم وكيل قائمة الانتظار بإتمام الرسالة الحالية وإضافة رسالة أخرى إلى قائمة الانتظار بالإضافة إلى فترة تأخير قصيرة، أي تعيين الكيان المطلوب معالجته مرة أخرى لاحقًا.
- وتكرر هذه العملية نفسها لعدد محدود من المحاولات. مع كل محاولة يزيد التأخير بالثواني.
- إذا ظلت حالة الكيان المرتبط دون تغيير بعد كل هذه المحاولات، يتم تجاهل الرسالة بدون استثناء. تتم مراقبة الكيان المرتبط كالمعتاد بواسطة تشغيل مجموعة المعالجة المجدول التالي.
