ما هي طريقة تنفيذ مهمة مجدولة تقوم بتفعيل حقل منع الدخول للمستخدمين الذي مر على انشائهم اكثر من 10 ايام ؟
ما هي طريقة تنفيذ مهمة مجدولة تقوم بتفعيل حقل منع الدخول للمستخدمين الذي مر على انشائهم اكثر من 10 ايام ؟
تتم العملية على خطوتين: أولاً نُنشئ مسار كيان يدوي على المستخدمين يقوم بتفعيل حقل منع الدخول، ثم نُنشئ مهمة مجدولة تشغّل هذا المسار يومياً على المستخدمين الذين مرّ على إنشائهم المدة المطلوبة.
أنشئ مسار كيان (Entity Flow) على كيان المستخدم، واجعله مساراً يدوياً (Manual)، ثم أضف إجراءً من نوع EAFieldValuesCalculator.
ضع في مدخلات (parameters) هذا الإجراء الأوامر التالية بالترتيب:
runCommand="edit"
settings.preventLogin="true"
runCommand="save"
ما يفعله هذا الإجراء: يفتح سجل المستخدم في وضع التعديل، يضع قيمة "نعم" في حقل منع الدخول (preventLogin)، ثم يحفظ السجل.
احفظ المسار ولاحظ كود المسار لأننا سنستخدمه في الخطوة التالية.
أنشئ مهمة مجدولة (Task Schedule) من النوع إجراء (Action) واختر اسم العنصر:
EARunEntityFlowFromQuery
ثم اضبط مدخلات المهمة:
select entityType, id from NaMaUser u where datediff(day, u.creationDate, getdate()) = 10
هذا الاستعلام يُرجع نوع الكيان والمعرّف لكل مستخدم مرّ على إنشائه عدد الأيام المحدّد، وتقوم المهمة بتشغيل مسار الكيان على كل سجل من نتائج الاستعلام (أي تفعيل منع الدخول لكل مستخدم).
اضبط جدولة المهمة لتعمل يومياً حتى تلتقط المستخدمين الجدد كل يوم.
ملاحظة حول شرط المدة: الاستعلام أعلاه يستخدم = 10، أي يلتقط المستخدم في اليوم العاشر تحديداً بعد إنشائه. ومع تشغيل المهمة يومياً فإن كل مستخدم سيُعالَج مرة واحدة في يومه العاشر، وهو ما يحقّق المطلوب. أمّا إذا أردت أن يشمل الشرط "10 أيام فأكثر" بشكل صريح (مثلاً لمعالجة دفعات سابقة عند أول تشغيل) فاستخدم >= 10 بدلاً من = 10 — وإعادة المعالجة هنا غير ضارة لأن حقل منع الدخول سيكون مفعّلاً بالفعل.