إنتقل إلى المحتوى الرئيسي

مهام Cron

يستخدم PulseHub منفذ cron (cron.php) للتعامل مع المهام الخلفية — استطلاع صناديق البريد الإلكتروني ومعالجة الأتمتة وإعادة محاولة webhooks الفاشلة وتنظيف البيانات القديمة.


نظرة عامة

يدعم cron.php وضعين:

الوضعكيف يعملالأفضل لـ
عنوان URLاستدعاء cron.php?token=YOUR_SECRET&job=all عبر المتصفح أو لوحة الاستضافةالاستضافة المشتركة (cPanel, Plesk)
CLIتشغيل php cron.php all من الطرفيةVPS / خوادم مخصصة

المهام المتاحة:

المهمةالوصف
allتشغيل جميع المهام بالتسلسل
emailاستطلاع قنوات البريد الإلكتروني IMAP النشطة
automationsمعالجة أحداث الأتمتة المعلقة
webhooksإعادة محاولة أحداث webhook الفاشلة
cleanupتنظيف أحداث SSE/الأتمتة/webhook القديمة

الإعداد — الاستضافة المشتركة (cPanel / Plesk / DirectAdmin)

الخيار أ: Cron قائم على URL (موصى به)

  1. سجل الدخول إلى لوحة الاستضافة
  2. اذهب إلى مهام Cron
  3. اضبط الجدولة على كل دقيقة (* * * * *)
  4. الصق:
wget -q -O /dev/null "https://yourdomain.com/cron.php?token=YOUR_CRON_SECRET&job=all"

أو باستخدام curl:

curl -s "https://yourdomain.com/cron.php?token=YOUR_CRON_SECRET&job=all" > /dev/null 2>&1

نصيحة: انسخ عنوان URL الكامل من الإعدادات → عنوان URL لمهمة Cron في PulseHub.

الخيار ب: Cron قائم على CLI

php /home/yourusername/public_html/cron.php all

الخيار ج: خدمة Cron خارجية

استخدم cron-job.org أو EasyCron أو SetCronJob ووجهه إلى عنوان URL الخاص بـ cron. اضبطه للتشغيل كل 1–5 دقائق.


الإعداد — VPS / خادم مخصص

* * * * * php /var/www/pulsehub/cron.php all >> /var/log/pulsehub_cron.log 2>&1

تفاصيل المهام

email — استطلاع IMAP

يتصل بجميع قنوات البريد الإلكتروني النشطة عبر IMAP، ويبحث عن الرسائل غير المقروءة، ويستوردها كمحادثات. إذا كانت إضافة imap مفقودة، تسجل المهمة رسالة تخطي وتنتهي بشكل نظيف.

automations — معالجة الأحداث المعلقة

يختار حتى 100 حدث معلق، ويقيّم القواعد، وينفذ الإجراءات. يتم تعليم الأحداث كـ processing قبل التقييم لمنع المعالجة المزدوجة.

webhooks — إعادة محاولة الأحداث الفاشلة

يعيد محاولة webhooks الفاشلة (حتى 5 محاولات خلال 24 ساعة).

cleanup — تنظيف البيانات القديمة

  • أحداث SSE الأقدم من 24 ساعة
  • أحداث الأتمتة المعالجة الأقدم من 7 أيام
  • أحداث webhook المعالجة الأقدم من 30 يومًا

الأمان

  • وضع الويب يتطلب رمزًا سريًا (يتم إنشاؤه أثناء التثبيت، ويُخزن في config/app.php)
  • وضع CLI لا يتطلب رمزًا
  • مقارنة الرموز تستخدم hash_equals() لمنع هجمات التوقيت