Increased added value for afterNextExec
authorAlexander Ebert <ebert@woltlab.com>
Mon, 22 Aug 2011 19:42:00 +0000 (21:42 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 22 Aug 2011 19:42:00 +0000 (21:42 +0200)
Unfortunately a75e8c9 did not fix the problem as intended, values below 60 do not modify the date of next execution. This is caused by the way CronjobUtil disregards any timeframe below 1 minute (seconds aren't allowed for value anyway). To avoid this issue I've picked 120 seconds which is more than 1 minute (preventing nasty rounding errors) and far less to have any impact on the system.

wcfsetup/install/files/lib/data/cronjob/CronjobAction.class.php
wcfsetup/install/files/lib/system/cronjob/CronjobScheduler.class.php

index 2654c5efe1117d862dea5a642f97e11e435cd17a..f3656d7dce52700666591a4be5840f50397d6d5f 100644 (file)
@@ -135,7 +135,7 @@ class CronjobAction extends AbstractDatabaseObjectAction {
                        $nextExec = $cronjob->getNextExec();
                        $cronjob->update(array(
                                'nextExec' => $nextExec, 
-                               'afterNextExec' => $cronjob->getNextExec(($nextExec + 1))
+                               'afterNextExec' => $cronjob->getNextExec(($nextExec + 120))
                        ));
                        
                        // build the return value
index bb243c339894022c0c9151102a2513ce49ba10c0..02bd6ebd9865cda3e055a0da1b21623ba037194d 100644 (file)
@@ -78,7 +78,7 @@ class CronjobScheduler extends SingletonFactory {
                        
                        // get time of next execution
                        $nextExec = $cronjobEditor->getNextExec();
-                       $afterNextExec = $cronjobEditor->getNextExec(($nextExec + 1));
+                       $afterNextExec = $cronjobEditor->getNextExec(($nextExec + 120));
                        
                        // mark cronjob as done
                        $cronjobEditor->update(array(