diff --git a/include/cronjob.class.php b/include/cronjob.class.php index 7848e07dd..e892e55a0 100644 --- a/include/cronjob.class.php +++ b/include/cronjob.class.php @@ -364,6 +364,11 @@ class cronjob extends basis_db public function execute() { $return = true; + if($this->running) + { + $this->errormsg = 'Job kann nicht ausgefuehrt werden, da er bereits laeuft'; + return false; + } if($this->standalone && $this->isJobRunning()) { $this->errormsg = 'Job kann nicht ausgefuehrt werden, da noch ein anderer Job laeuft'; diff --git a/vilesci/cronjobs/cronjob.php b/vilesci/cronjobs/cronjob.php index ccfeda4ce..a952bc965 100644 --- a/vilesci/cronjobs/cronjob.php +++ b/vilesci/cronjobs/cronjob.php @@ -40,15 +40,19 @@ foreach ($cj->result as $cronjob) $timestamp = $cronjob->getNextExecutionTime(); if($timestamp && time()>=$timestamp) { - //Starten des Jobs - if($cronjob->execute()) + if(!$cronjob->running) { - echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') executed
'."\n"; - echo implode($cronjob->output,"\n"); - } - else - { - echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') failed
'."\n"; + echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') execute...
'."\n"; + //Starten des Jobs + if($cronjob->execute()) + { + echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') executed
'."\n"; + echo implode($cronjob->output,"\n"); + } + else + { + echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') failed:'.$cronjob->errormsg.'
'."\n"; + } } } }