81 lines
3.1 KiB
PHP
81 lines
3.1 KiB
PHP
<?php
|
|
// =========================================================
|
|
// backend/bot/push_10_tasks.php
|
|
// CLI script: Clears old Redis queue and pushes 10 individual
|
|
// tasks in the STANDARD format (start_location/end_location at top level)
|
|
// so the cf696d05 (single-trip) Kotlin code can process them.
|
|
// =========================================================
|
|
|
|
require_once __DIR__ . '/../core/bootstrap.php';
|
|
|
|
if (php_sapi_name() !== 'cli') {
|
|
die("This script must be run from CLI.\n");
|
|
}
|
|
|
|
if (!$redis) {
|
|
die("Redis connection failed. Check your .env config.\n");
|
|
}
|
|
|
|
$ammanLocations = [
|
|
['name' => 'Abdoun', 'lat' => 31.9392, 'lng' => 35.8942],
|
|
['name' => 'Jabal Amman', 'lat' => 31.9511, 'lng' => 35.9189],
|
|
['name' => 'Sweileh', 'lat' => 32.0167, 'lng' => 35.8333],
|
|
['name' => 'Khalda', 'lat' => 31.9861, 'lng' => 35.8450],
|
|
['name' => 'Al-Jubaiha', 'lat' => 32.0194, 'lng' => 35.8753],
|
|
['name' => 'Tla Al-Ali', 'lat' => 31.9961, 'lng' => 35.8647],
|
|
['name' => 'Shmeisani', 'lat' => 31.9680, 'lng' => 35.9020],
|
|
['name' => 'Um Uthaina', 'lat' => 31.9610, 'lng' => 35.8770],
|
|
['name' => 'Marj Al-Hamam', 'lat' => 31.9000, 'lng' => 35.8500],
|
|
['name' => 'Al-Muqabalain', 'lat' => 31.8720, 'lng' => 35.8900],
|
|
['name' => 'Al-Qweismeh', 'lat' => 31.8900, 'lng' => 35.9200],
|
|
['name' => 'Hashmi Al-Janoubi', 'lat' => 31.9350, 'lng' => 35.9350],
|
|
['name' => 'Al-Madina', 'lat' => 31.8500, 'lng' => 35.8000],
|
|
['name' => 'Sports City', 'lat' => 31.9820, 'lng' => 35.8880],
|
|
];
|
|
|
|
$tripPairs = [
|
|
[13, 5], // Sports City → Tla Al-Ali (~2km)
|
|
[6, 0], // Shmeisani → Abdoun (~3km)
|
|
[7, 1], // Um Uthaina → Jabal Amman (~4km)
|
|
[3, 13], // Khalda → Sports City (~5km)
|
|
[4, 2], // Al-Jubaiha → Sweileh (~5km)
|
|
[0, 8], // Abdoun → Marj Al-Hamam (~6km)
|
|
[1, 10], // Jabal Amman → Al-Qweismeh (~9km)
|
|
[6, 9], // Shmeisani → Al-Muqabalain (~11km)
|
|
[2, 12], // Sweileh → Al-Madina (~17km)
|
|
[5, 11], // Tla Al-Ali → Hashmi (~5km)
|
|
];
|
|
|
|
// Step 1: Clear the old queue
|
|
$redis->del('queue:bot:tasks');
|
|
echo "Cleared old queue: queue:bot:tasks\n";
|
|
|
|
// Step 2: Push 10 individual tasks in STANDARD format
|
|
$count = 0;
|
|
foreach ($tripPairs as $i => $pair) {
|
|
$start = $ammanLocations[$pair[0]];
|
|
$end = $ammanLocations[$pair[1]];
|
|
$taskId = "prc_" . uniqid();
|
|
|
|
$task = [
|
|
'task_id' => $taskId,
|
|
'type' => 'price_check',
|
|
'app' => 'com.taxif.passenger',
|
|
'start_location' => $start['name'],
|
|
'end_location' => $end['name'],
|
|
'payload' => [
|
|
'start_lat' => $start['lat'],
|
|
'start_lng' => $start['lng'],
|
|
'end_lat' => $end['lat'],
|
|
'end_lng' => $end['lng'],
|
|
],
|
|
];
|
|
|
|
$redis->lpush('queue:bot:tasks', json_encode($task));
|
|
$count++;
|
|
echo " [$count] Pushed: {$start['name']} → {$end['name']} (task_id: $taskId)\n";
|
|
}
|
|
|
|
echo "\nDone! Pushed $count individual tasks to Redis queue.\n";
|
|
echo "The bot will process them one-by-one through normal polling (every ~15s).\n";
|