|
44 | 44 | $skip_permissions = true; |
45 | 45 | include_once __DIR__.'/core.php'; |
46 | 46 |
|
| 47 | +echo "[CRON] Avvio - ".date('Y-m-d H:i:s')."\n"; |
| 48 | + |
47 | 49 | // Controllo su possibili aggiornamenti per bloccare il sistema |
48 | 50 | $database_online = $database->isInstalled() && !Update::isUpdateAvailable(); |
49 | 51 | if (!$database_online) { |
| 52 | + echo "[CRON] STOP - Database offline o aggiornamento disponibile\n"; |
50 | 53 | return; |
51 | 54 | } |
52 | 55 |
|
|
71 | 74 |
|
72 | 75 | $disattiva = Cache::where('name', 'Disabilita cron')->first(); |
73 | 76 | if ($disattiva->content || (in_array($_SERVER['HTTP_HOST'], ['localhost', '127.0.0.1']) && !$forza_cron_localhost)) { |
| 77 | + echo "[CRON] STOP - Cron disabilitato o localhost\n"; |
74 | 78 | return; |
75 | 79 | } |
76 | 80 |
|
|
80 | 84 | // Generazione e registrazione del cron |
81 | 85 | $current_id = random_string(); |
82 | 86 | $cron_id->set($current_id); |
| 87 | +echo "[CRON] ID generato: $current_id\n"; |
83 | 88 |
|
84 | 89 | // Registrazione dell'esecuzione |
85 | 90 | $adesso = new Carbon(); |
|
101 | 106 | // Controllo su possibili aggiornamenti per bloccare il sistema |
102 | 107 | $database_online = $database->isInstalled() && !Update::isUpdateAvailable(); |
103 | 108 | if (!$database_online || !empty($disattiva->content) || $cron_id->content != $current_id) { |
| 109 | + echo "[CRON] STOP - Controlli falliti (DB: ".($database_online ? 'OK' : 'KO').", Disattivato: ".($disattiva->content ? 'SI' : 'NO').", ID: ".($cron_id->content == $current_id ? 'OK' : 'KO').")\n"; |
104 | 110 | return; |
105 | 111 | } |
106 | 112 |
|
|
124 | 130 |
|
125 | 131 | // Aggiornamento dei cron disponibili |
126 | 132 | $tasks = Task::all()->where('enabled', 1); |
| 133 | +echo "[CRON] Task trovati: ".count($tasks)."\n"; |
127 | 134 | foreach ($tasks as $task) { |
128 | 135 | $adesso = new Carbon(); |
129 | 136 |
|
|
139 | 146 |
|
140 | 147 | // Esecuzione diretta solo nel caso in cui sia prevista |
141 | 148 | if ($task->next_execution_at->copy()->addSeconds(20)->greaterThanOrEqualTo($inizio_iterazione) && $task->next_execution_at->lessThanOrEqualTo($adesso->copy()->addseconds(20))) { |
| 149 | + echo "[CRON] Esecuzione task: ".$task->getTranslation('title')."\n"; |
142 | 150 | // Registrazione dell'esecuzione nei log |
143 | 151 | $logger->info($task->getTranslation('title').': '.$task->expression); |
144 | 152 | try { |
145 | 153 | $task->execute(); |
| 154 | + echo "[CRON] Task completato: ".$task->getTranslation('title')."\n"; |
146 | 155 | } catch (Exception $e) { |
| 156 | + echo "[CRON] ERRORE task: ".$task->getTranslation('title')." - ".$e->getMessage()."\n"; |
147 | 157 | // Registrazione del completamento nei log |
148 | 158 | $task->log('error', 'Errore di esecuzione', [ |
149 | 159 | 'code' => $e->getCode(), |
|
156 | 166 | } |
157 | 167 | // Esecuzione mancata |
158 | 168 | elseif ($task->next_execution_at->lessThan($inizio_iterazione)) { |
| 169 | + echo "[CRON] Task mancato: ".$task->getTranslation('title')." (previsto: ".$task->next_execution_at->toDateTimeString().")\n"; |
159 | 170 | $logger->warning($task->getTranslation('title').': mancata', [ |
160 | 171 | 'timestamp' => $task->next_execution_at->toDateTimeString(), |
161 | 172 | ]); |
|
175 | 186 | 'next-slot-unix' => $timestamp, |
176 | 187 | ]); |
177 | 188 | $in_esecuzione->set(false); |
| 189 | +echo "[CRON] Concluso - Prossimo slot: ".$slot_minimo->toDateTimeString()."\n"; |
178 | 190 |
|
179 | 191 | // Registrazione dell'esecuzione |
180 | 192 | $adesso = new Carbon(); |
|
0 commit comments