1
0
Fork 0
mirror of synced 2024-05-20 12:42:39 +12:00

improvement with latest data

This commit is contained in:
Damodar Lohani 2021-08-16 14:47:35 +05:45
parent 00a1612b24
commit 22f0aaf161

View file

@ -140,11 +140,13 @@ $cli
$cacheAdapter = new Cache(new Redis($redis));
$dbForProject = new Database(new MariaDB($db), $cacheAdapter);
$latestTime = [];
Authorization::disable();
Console::loop(function () use ($interval, $register, $dbForProject, $globalMetrics, $periods) {
$time = date('d-m-Y H:i:s', time());
Console::info("[{$time}] Aggregating usage data every {$interval} seconds");
Console::loop(function () use ($interval, $register, $dbForProject, $globalMetrics, $periods, &$latestTime) {
$now = date('d-m-Y H:i:s', time());
Console::info("[{$now}] Aggregating usage data every {$interval} seconds");
$loopStart = microtime(true);
@ -155,6 +157,9 @@ $cli
foreach ($globalMetrics as $metric => $options) {
foreach ($periods as $period) {
$start = DateTime::createFromFormat('U', \strtotime($period['startTime']))->format(DateTime::RFC3339);
if(!empty($latestTime[$metric][$period['key']])) {
$start = DateTime::createFromFormat('U', $latestTime[$metric][$period['key']])->format(DateTime::RFC3339);
}
$end = DateTime::createFromFormat('U', \strtotime('now'))->format(DateTime::RFC3339);
$table = $options['table'];
@ -192,6 +197,7 @@ $cli
$dbForProject->updateDocument('stats', $document->getId(),
$document->setAttribute('value', $value));
}
$latestTime[$metric][$period['key']] = $time;
} catch (\Exception$e) {
Console::warning("Failed to save data for project {$projectId} and metric {$metric}");
}
@ -202,7 +208,7 @@ $cli
}
$loopTook = microtime(true) - $loopStart;
$time = date('d-m-Y H:i:s', time());
Console::info("[{$time}] Aggregation took {$loopTook} seconds");
$now = date('d-m-Y H:i:s', time());
Console::info("[{$now}] Aggregation took {$loopTook} seconds");
}, $interval);
});