Cronjob wiederholt sich nicht

Hallo, mein Problem ist, dass sich meine Cronjobs nicht wiederholen. Lediglich wenn ich die URL http://meinshop.de/backend/cron eingebe, werden alle fälligen Cronjobs durchlaufen. Eine automatische Wiederholung gibt es jedoch nicht. Was habe ich vergessen? Mein Code: public function install() { $this-\>createCronJob('Upload2FileServer','FileServer',120,true); $this-\>subscribeEvent('Shopware\_CronJob\_FileServer','onRunCronJob'); return true; } public function onRunCronJob(Shopware\_Components\_Cron\_CronJob $job){ //do something }

Jeder cronjob braucht einen return. Ein return true sollte reichen. Viele Grüße

1 „Gefällt mir“

Hallo, danke für die schnelle Antwort. Ich hatte bereits den Rückgabewert true in meinem Plugin zurückgegeben. Das Komische ist, dass alle Cronjobs sich nicht wiederholen. Also auch die Cronjobs, die von Shopware bereits vorgegeben werden. Lediglich wenn ich die URL http://meinshop.de/backend/cron aufrufe, werden alle fälligen Cronjobs abgearbeitet. Hier nochmal der genaue Code meiner Cronjob-Methode: public function onRunCronJob(Shopware\_Components\_Cron\_CronJob $job){ $filePath = str\_replace("/engine/Shopware/Plugins/Local/Frontend/Upload2FileServer","","".\_\_DIR\_\_); $filePath = $filePath."/files/uploads/"; if ($filePath) { if ($handle = opendir($filePath)) { while (false !== ($dir = readdir($handle))) { $isTmpDir = false; if (strpos($dir,'tmp') !== false) { $isTmpDir = true; } if(strcmp($dir, '..') != 0 && strcmp($dir, '.') != 0 && $isTmpDir == false){ $orderNumber = $dir; $handle2 = opendir($filePath.$dir); while (false !== ($file = readdir($handle2))) { if(strcmp($file, '..') != 0 && strcmp($file, '.') != 0){ copy($filePath.$dir.'/'.$file, $filePath.$dir.'/neoder.jpg'); } } closedir($handle2); } } closedir($handle); } } return true; } Grüße und vielen Dank

Hast du denn den cronjob auf Server Ebene aktiviert / eingerichtet?! Der cronjob wird selbstverständlich nur aufgerufen, wenn er entsprechend im crontab eingerichtet ist. Shopware ruft nicht automatisch alle x Minuten den cronjob auf. Viele Grüße