| Server IP : 213.255.246.8 / Your IP : 216.73.217.138 Web Server : Apache System : Linux dublin.stapolin.com 5.14.0-362.18.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jan 29 07:05:48 EST 2024 x86_64 User : stapolin ( 1019) PHP Version : 8.4.24 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/stapolin/public_html/tracking.stapolin.com/cron/ |
Upload File : |
<?php
declare(strict_types=1);
require_once __DIR__ . '/../includes/cron.php';
run_cron_job('build_hourly_aggregates', function (): string {
$since = gmdate('Y-m-d H:00:00', time() - 48 * 3600);
db_execute('DELETE FROM hourly_aggregates WHERE aggregate_hour >= ?', 's', [$since]);
$inserted = 0;
$stmt = db_execute(
'INSERT INTO hourly_aggregates (website_id, aggregate_hour, metric_key, dimension_key, dimension_value, metric_value)
SELECT website_id, DATE_FORMAT(entered_at, "%Y-%m-%d %H:00:00"), ?, "", "", COUNT(*)
FROM page_views WHERE entered_at >= ? GROUP BY website_id, DATE_FORMAT(entered_at, "%Y-%m-%d %H:00:00")',
'ss',
['page_views', $since]
);
$inserted += $stmt->affected_rows;
$stmt = db_execute(
'INSERT INTO hourly_aggregates (website_id, aggregate_hour, metric_key, dimension_key, dimension_value, metric_value)
SELECT website_id, DATE_FORMAT(occurred_at, "%Y-%m-%d %H:00:00"), ?, "", "", COUNT(*)
FROM events WHERE occurred_at >= ? GROUP BY website_id, DATE_FORMAT(occurred_at, "%Y-%m-%d %H:00:00")',
'ss',
['events', $since]
);
$inserted += $stmt->affected_rows;
return $inserted . ' hourly aggregates written';
});