Files
api-btekno/bin/run_all_daily_summary.php

65 lines
1.5 KiB
PHP
Raw Normal View History

<?php
require __DIR__ . '/../vendor/autoload.php';
use App\Config\AppConfig;
use App\Support\Database;
AppConfig::loadEnv(__DIR__ . '/..');
$db = Database::getConnection(
AppConfig::get('DB_HOST'),
AppConfig::get('DB_NAME'),
AppConfig::get('DB_USER'),
AppConfig::get('DB_PASS')
);
// Get all dates with entry_events
$stmt = $db->query('SELECT DISTINCT DATE(event_time) as date FROM entry_events ORDER BY date DESC');
$dates = $stmt->fetchAll();
echo "=== Running daily_summary for all dates with entry_events ===\n\n";
foreach ($dates as $dateRow) {
$date = $dateRow['date'];
// Skip old/invalid dates
if ($date < '2020-01-01') {
echo "Skipping old date: $date\n";
continue;
}
echo "Processing: $date\n";
// Run daily_summary for this date
$command = sprintf(
'php %s/bin/daily_summary.php %s',
escapeshellarg(__DIR__ . '/..'),
escapeshellarg($date)
);
$output = [];
$returnCode = 0;
exec($command, $output, $returnCode);
if ($returnCode === 0) {
echo " ✓ Success\n";
if (!empty($output)) {
foreach ($output as $line) {
echo " $line\n";
}
}
} else {
echo " ✗ Failed (return code: $returnCode)\n";
if (!empty($output)) {
foreach ($output as $line) {
echo " $line\n";
}
}
}
echo "\n";
}
echo "=== Done ===\n";