Update: 2026-07-14 00:54:50
This commit is contained in:
@@ -2,9 +2,10 @@
|
||||
// backend/transit/cron_approaching_alerts.php
|
||||
// يُنفذ كل دقيقة عبر Cron Job لإرسال تنبيهات اقتراب الباص من المحطات (أقل من 2 كم)
|
||||
//
|
||||
// ملاحظة أداء: الاستعلام الأول رخيص (فهرس idx على status)، ولكل رحلة نشطة
|
||||
// فقط استعلامان إضافيان — ويُتجاهل فوراً أي رحلة بلا موقع GPS حديث (< 3 دقائق)
|
||||
// لتفادي ضرب القاعدة لرحلات متوقفة أو باصات فقدت الاتصال.
|
||||
// ملاحظة أداء: الاستعلام الأول يستخدم فهرس idx_status (WHERE status='started')
|
||||
// فيقرأ فقط الرحلات الجارية الآن (عددها = عدد الباصات على الطريق، صغير)، لا كل
|
||||
// الجدول. لكل رحلة نشطة استعلامان إضافيان فقط، ويُتجاهل فوراً أي رحلة بلا موقع
|
||||
// GPS حديث (< 3 دقائق). خارج أوقات الدوام (لا رحلات) يخرج فوراً بلا أي عمل.
|
||||
|
||||
require_once __DIR__ . '/../core/bootstrap.php';
|
||||
require_once __DIR__ . '/functions.php';
|
||||
|
||||
@@ -213,7 +213,8 @@ CREATE TABLE IF NOT EXISTS `transit_trips` (
|
||||
UNIQUE KEY `uq_schedule_date` (`schedule_id`, `trip_date`),
|
||||
KEY `idx_route_date` (`route_id`, `trip_date`),
|
||||
KEY `idx_org_date` (`org_id`, `trip_date`),
|
||||
KEY `idx_driver_date` (`driver_id`, `trip_date`)
|
||||
KEY `idx_driver_date` (`driver_id`, `trip_date`),
|
||||
KEY `idx_status` (`status`) -- cron_approaching_alerts يستعلم WHERE status='started' كل دقيقة
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- -----------------------------------------------------------------
|
||||
@@ -342,6 +343,8 @@ SET FOREIGN_KEY_CHECKS = 1;
|
||||
-- (بدونها: Admin/transit/route/approve.php بإجراء reject يفشل بخطأ SQL دائماً)
|
||||
-- ALTER TABLE transit_drivers ADD KEY idx_main_driver (main_driver_id);
|
||||
-- (بدونها: كل استعلام transitResolveDriver / driver/me.php = مسح جدول كامل)
|
||||
-- ALTER TABLE transit_trips ADD KEY idx_status (status);
|
||||
-- (بدونها: cron_approaching_alerts كل دقيقة = مسح جدول transit_trips كامل)
|
||||
-- -----------------------------------------------------------------
|
||||
|
||||
-- -----------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user