From c3a22f788953171132f6eba24359d1a6d924527c Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Tue, 11 Aug 2020 09:54:43 +0200 Subject: [PATCH] Correzioni minori e automatismi --- cron.php | 29 ++++++++++++++++++++++++----- include/bottom.php | 7 +++++-- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/cron.php b/cron.php index 2667d212a..a2504584a 100644 --- a/cron.php +++ b/cron.php @@ -16,22 +16,31 @@ use Tasks\CronExpression; use Tasks\Task; // Rimozione delle limitazioni sull'esecuzione -//set_time_limit(0); -//ignore_user_abort(true); +set_time_limit(0); +ignore_user_abort(true); // Chiusura della richiesta alla pagina -//flush(); +flush(); $skip_permissions = true; include_once __DIR__.'/core.php'; +// Controllo su possibili aggiornamenti per bloccare il sistema +$database_online = $database->isInstalled() && !Update::isUpdateAvailable(); +if (!$database_online) { + return; +} + // Disabilita della sessione session_write_close(); // Aggiunta di un logger specifico +$pattern = '[%datetime%] %level_name%: %message% %context%'.PHP_EOL; +$formatter = new Monolog\Formatter\LineFormatter($pattern); + $logger = new Logger('Tasks'); -$handler = new RotatingFileHandler(DOCROOT.'/logs/cron_Test.log', 0); -$handler->setFormatter($monologFormatter); +$handler = new RotatingFileHandler(DOCROOT.'/logs/cron.log', 0); +$handler->setFormatter($formatter); $logger->pushHandler($handler); // Lettura della cache @@ -48,6 +57,10 @@ if (!empty($data) && $data->greaterThanOrEqualTo($minimo_esecuzione)) { return; } +// Registrazione dell'esecuzione +$adesso = new Carbon(); +$ultima_esecuzione->set($adesso->__toString()); + // Calcolo del primo slot disponibile $adesso = new Carbon(); $slot = (new Carbon())->startOfHour(); @@ -62,6 +75,12 @@ while (true) { $timestamp = $slot->getTimestamp(); time_sleep_until($timestamp); + // Controllo su possibili aggiornamenti per bloccare il sistema + $database_online = $database->isInstalled() && !Update::isUpdateAvailable(); + if (!$database_online) { + return; + } + // Registrazione nei log $logger->info('Cron #'.$number.' (slot timestamp: '.$timestamp.')'); diff --git a/include/bottom.php b/include/bottom.php index 021549f58..4adc96fef 100755 --- a/include/bottom.php +++ b/include/bottom.php @@ -56,12 +56,15 @@ if (Auth::check()) { $(document).ready(function() { // Toast alertPush(); - + // Orologio clock(); - + // Hooks startHooks(); + + // Abilitazione del cron autonoma + $.get(globals.rootdir + "/cron.php"); }); '; }