جدولة التذكيرات وإعادة المحاولةReminder scheduling and retry
من الحدث وقواعد التذكير تُولد مواعيد إرسال بمفتاح فريد، وتُعاد جدولتها عند تغير الحدث، ويعاد الإرسال الفاشل أسيًا ثم القناة الاحتياطية.
الميزات التي تستخدمها: B44 الإشعارات والتذكيرات، B09 الجلسات والتقويم المزدوج ومنع التعارض الزمني، B12 محرك المهل النظامية وحاسبة الاعتراض، B07 سجل الوكالات الشرعية
1الغرض والمصطلحات القانونية المرتبطة
تذكير يصل مرة واحدة في وقته.
2المدخلات وأنواعها ومصادرها
الحدث وموعده، القواعد، المستلم وقنواته وموافقاته.
3المخرجات والحالات
Notification Delivery بحالة.
4خطوات المعالجة بالتسلسل
- لكل قاعدة: due = event_time − offset.
- مفتاح = (event, record, offset, recipient).
- تغيير الحدث ← إلغاء غير المرسل وإنشاء جديد.
- الإرسال عبر B43 طبقة التكامل المركزية.
- فشل ← إعادة أسية ← قناة احتياطية.
5الشروط والفروع والاستثناءات
موعد مضى عند الإنشاء ← لا إرسال متأخر إلا للمهل (يرسل فورًا) اقتراح هندسي.
6Pseudocode كامل
Pseudocode
function schedule(event):
for r in ReminderRule.for(event.kind):
key = (event.kind, event.id, r.offset, r.recipient)
upsert NotificationDelivery(key, due=event.time - r.offset, status="مجدول")
on event change: cancel where key.event == event and status == "مجدول"; schedule(event)7مثال اصطناعي خطوة بخطوة
جلسة 10:00 بتذكير قبل يوم وقبل ساعتين ← رسالتان؛ تأجيلها ← إلغاء وإنشاء.
8حالات الفشل والتعامل معها
القناة متوقفة ← الاحتياطية.
9منع التكرار والتزامن
قيد فريد على المفتاح.
10الصلاحيات والتدقيق والأمن
نص عام في القنوات غير الآمنة.
11اختبارات الوحدات والتكامل والقبول
| المعرّف | النوع | السيناريو | النتيجة المتوقعة |
|---|---|---|---|
ALG-NR-01 | وحدة | تغيير الموعد | لا تكرار |
12ما هو قاعدة تقنية وما هو قرار قانوني
| قاعدة تقنية (ينفذها المطور) | قرار قانوني (يعتمده مختص) |
|---|---|
| الجدولة والإعادة | فترات التذكير الافتراضية للمهل |