Problem behoben wodurch bei langlaufenden Cronjobs diese mehrmals

gestartet wurden
This commit is contained in:
Andreas Österreicher
2017-12-13 17:53:22 +01:00
parent aeae34f4e0
commit 588561b716
2 changed files with 17 additions and 8 deletions
+5
View File
@@ -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';
+12 -8
View File
@@ -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<br>'."\n";
echo implode($cronjob->output,"\n");
}
else
{
echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') <b>failed</b><br>'."\n";
echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') execute...<br>'."\n";
//Starten des Jobs
if($cronjob->execute())
{
echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') executed<br>'."\n";
echo implode($cronjob->output,"\n");
}
else
{
echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') <b>failed:'.$cronjob->errormsg.'</b><br>'."\n";
}
}
}
}