diff --git a/lib/classes/CronjobScheduler.class.php b/lib/classes/CronjobScheduler.class.php index 67db94c6d4d7eabb9e0d5bd4d3df1a9bcb952959..49f453238562bf3ef8f1809ea2566749de0dd0e6 100644 --- a/lib/classes/CronjobScheduler.class.php +++ b/lib/classes/CronjobScheduler.class.php @@ -267,20 +267,19 @@ class CronjobScheduler } foreach ($schedules as $schedule) { + $log = new CronjobLog(); + $log->schedule_id = $schedule->schedule_id; + $log->scheduled = $schedule->next_execution; + $log->executed = time(); + $log->exception = null; + $log->duration = -1; + try { // Skip schedules with missing task classes if (!$schedule->task->valid) { throw new Exception(_('Die Klasse für den Cronjob-Task konnte nicht gefunden werden')); } - $log = new CronjobLog(); - $log->schedule_id = $schedule->schedule_id; - $log->scheduled = $schedule->next_execution; - $log->executed = time(); - $log->exception = null; - $log->duration = -1; - $log->store(); - // Start capturing output and measuring duration ob_start(); $start_time = microtime(true); @@ -297,6 +296,7 @@ class CronjobScheduler $log->store(); } catch (Exception $e) { $log->exception = $e; + $log->store(); // Deactivate schedule $schedule->deactivate();