diff --git a/lib/classes/CronjobScheduler.class.php b/lib/classes/CronjobScheduler.class.php index afc89f6de94b1960f174c3cd81e2d6b3930845e2..cc4cf8b0201524308077ea1fbe2ec5c3bbe21cd8 100644 --- a/lib/classes/CronjobScheduler.class.php +++ b/lib/classes/CronjobScheduler.class.php @@ -256,20 +256,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); @@ -286,6 +285,7 @@ class CronjobScheduler $log->store(); } catch (Exception $e) { $log->exception = $e; + $log->store(); // Deactivate schedule $schedule->deactivate();