first commit
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
session_start();
|
||||
echo "[" . date("Y-m-d H:i:s") . "] GPS quotes_update_travel_time job is starting.\n";
|
||||
|
||||
require 'common/utils.php';
|
||||
require 'common/config.php';
|
||||
require 'common/address_city.php';
|
||||
$total = $success = $failed = 0;
|
||||
$conditions = [
|
||||
"completed is not null AND travel_date is null",//
|
||||
];
|
||||
$limit =100;
|
||||
$arr_timezones = [
|
||||
|
||||
];//address_id, timezone
|
||||
$start = floor(microtime(true)*1000);
|
||||
foreach ($conditions as $condition) {
|
||||
$total = getTotalQuotesByCondition($condition);
|
||||
for($i=0; $i<$total;$i+=$limit){
|
||||
$offset =$i;
|
||||
$quotes = getQuotesByCondition($condition,$limit, $offset);
|
||||
while ($f = pg_fetch_assoc($quotes)) {
|
||||
|
||||
$total++;
|
||||
$id = $f['id'];
|
||||
$completed = $f['completed'];
|
||||
if (!array_key_exists($f['location_start_id'], $arr_timezones)) {
|
||||
echo "query time zone==========================================\n";
|
||||
$timezone = getTzByAddressId($f['location_start_id']);
|
||||
$arr_timezones[$f['location_start_id']] = $timezone;
|
||||
}
|
||||
$timezone = $arr_timezones[$f['location_start_id']];
|
||||
$travel_date = convertUtcToLocal($completed, $timezone);
|
||||
$data_update = [
|
||||
'travel_date' => $travel_date,
|
||||
];
|
||||
$condition_update = "id = " . $id . "";
|
||||
$startu = floor(microtime(true)*1000);
|
||||
$updated = updateDataTable('quotes', $condition_update, $data_update);
|
||||
$endu = floor(microtime(true)*1000);
|
||||
$durationu=$endu-$startu;
|
||||
echo $durationu." miliseconds ********************************************\n";
|
||||
if ($updated) {
|
||||
$success++;
|
||||
} else {
|
||||
$failed++;
|
||||
}
|
||||
}
|
||||
if($i==200){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$end = floor(microtime(true)*1000);
|
||||
$duration = $end -$start;
|
||||
|
||||
echo "start: " . $start . ".\n";
|
||||
echo "end: " . $end . ".\n";
|
||||
echo "duration: " . $duration . " miliseconds.\n";
|
||||
echo "Total: " . $total . ".\n";
|
||||
echo "Success: : " . $success . ".\n";
|
||||
echo "Failed: : " . $failed . ".\n";
|
||||
echo "[" . date("Y-m-d H:i:s") . "] quotes_update_travel_time job complete.\n";
|
||||
|
||||
function getQuotesByCondition($condition, $limit=10, $offset=0)
|
||||
{
|
||||
global $readOnlyReplicaConn;
|
||||
$q = "SELECT id,created,completed,location_start_id, location_end_id, travel_date
|
||||
FROM quotes
|
||||
WHERE " . $condition . "
|
||||
ORDER BY id DESC
|
||||
LIMIT ".$limit." offset ". $offset."";
|
||||
echo $q."\n";
|
||||
$r = pg_query($readOnlyReplicaConn, $q);
|
||||
return $r;
|
||||
}
|
||||
|
||||
function getTotalQuotesByCondition($condition)
|
||||
{
|
||||
global $readOnlyReplicaConn;
|
||||
$q = "SELECT count(*) as total
|
||||
FROM quotes
|
||||
WHERE " . $condition . "
|
||||
";
|
||||
$r = pg_query($readOnlyReplicaConn, $q);
|
||||
while ($f=pg_fetch_array($r)) {
|
||||
return $f['total'];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user