Update: 2026-07-14 00:54:50
This commit is contained in:
@@ -2,9 +2,10 @@
|
|||||||
// backend/transit/cron_approaching_alerts.php
|
// backend/transit/cron_approaching_alerts.php
|
||||||
// يُنفذ كل دقيقة عبر Cron Job لإرسال تنبيهات اقتراب الباص من المحطات (أقل من 2 كم)
|
// يُنفذ كل دقيقة عبر Cron Job لإرسال تنبيهات اقتراب الباص من المحطات (أقل من 2 كم)
|
||||||
//
|
//
|
||||||
// ملاحظة أداء: الاستعلام الأول رخيص (فهرس idx على status)، ولكل رحلة نشطة
|
// ملاحظة أداء: الاستعلام الأول يستخدم فهرس idx_status (WHERE status='started')
|
||||||
// فقط استعلامان إضافيان — ويُتجاهل فوراً أي رحلة بلا موقع GPS حديث (< 3 دقائق)
|
// فيقرأ فقط الرحلات الجارية الآن (عددها = عدد الباصات على الطريق، صغير)، لا كل
|
||||||
// لتفادي ضرب القاعدة لرحلات متوقفة أو باصات فقدت الاتصال.
|
// الجدول. لكل رحلة نشطة استعلامان إضافيان فقط، ويُتجاهل فوراً أي رحلة بلا موقع
|
||||||
|
// GPS حديث (< 3 دقائق). خارج أوقات الدوام (لا رحلات) يخرج فوراً بلا أي عمل.
|
||||||
|
|
||||||
require_once __DIR__ . '/../core/bootstrap.php';
|
require_once __DIR__ . '/../core/bootstrap.php';
|
||||||
require_once __DIR__ . '/functions.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`),
|
UNIQUE KEY `uq_schedule_date` (`schedule_id`, `trip_date`),
|
||||||
KEY `idx_route_date` (`route_id`, `trip_date`),
|
KEY `idx_route_date` (`route_id`, `trip_date`),
|
||||||
KEY `idx_org_date` (`org_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;
|
) 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 دائماً)
|
-- (بدونها: Admin/transit/route/approve.php بإجراء reject يفشل بخطأ SQL دائماً)
|
||||||
-- ALTER TABLE transit_drivers ADD KEY idx_main_driver (main_driver_id);
|
-- ALTER TABLE transit_drivers ADD KEY idx_main_driver (main_driver_id);
|
||||||
-- (بدونها: كل استعلام transitResolveDriver / driver/me.php = مسح جدول كامل)
|
-- (بدونها: كل استعلام 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