Hallo zusammen, bisher haben wir für kleine Erweiterungen oder Funktionen welche cronjobs benötigen immer Gambio-Unabhängig über die Systemcronjobs auf dem Server eingerichtet. Wir würden diese aber zukünftig gerne in dem Systemcron / die vorhandenen zeitgesteuerten Aufgaben integrieren. Bevor wir damit loslegen, schauen wir uns gerade an wie dies zu entwickeln wäre und planen alles nötige. Gibt es hier genaueres Informationen, vielleicht sogar in der Doku? Vermutlich hier: https://developers.gambio.de/docs/4.8.0.0/phpdoc/classes/AbstractCronjobTask.html https://developers.gambio.de/docs/4.8.0.0/phpdoc/classes/Cronjob.html Gibt es Beispiele? Ich habe mal etwas weiter geforscht, die gesamte cron-Logik scheint im Code hier zu liegen: GXMainComponents/Services/System/Cronjob Exemplarisch der cronjob fürs Dateirechte prüfen liegt hier: GXMainComponents/Services/System/Cronjob/Tasks/CheckPermissionsCronjobTask.inc.php Ein cronjob, welcher Hallo Welt und die Uhrzeit in eine Datei schreibt, müsste dann so aussehen? Code: class myCustomCronjobTask extends AbstractCronjobTask { public function getCallback($cronjobStartAsMicrotime) { return function ( $cronjobStartAsMicrotime ) { $this->logger->lastRun(); // tu irgendwas $ret = file_put_contents( DIR_WS_CATALOG . '/' . '/cache/cronjobs/myCustomCronjobTask.log', 'Hallo Welt '. $cronjobStartAsMicrotime . PHP_EOL, FILE_APPEND ); $this->logger->log(); $this->logger->lastSuccess(); return (bool)$ret; }; } } Wäre der Ansatz korrekt? Wo wäre die Datei zur Erweiterung zu platzieren? Vermutlich im Bereich GXUserComponents oder gibts es hier keine Möglichkeit zur Erweiterung/Overloads der crons? Ich tue mir manchmal etwas schwer dies direkt im Detail zu erfassen bzw. hier die nötigen Infos aus der Doku bzw. dem Code zu ziehen. Vielleicht gibt es da auch nochmals einen Tipp. Ist es per Overload möglich oder müsste ein kleines Modul geschaffen werden? Daher vielen Dank an alle im Voraus für jegliche Infos! Ich werde die Infos updaten, vielleicht helfen sie dem ein oder anderen ebenfalls weiter!
@iloki Schau dir die Datei src/GXModules/Gambio/Afterbuy/Admin/Classes/AfterbuyCronjobTask.inc.php einmal an und ablegen kannst du diese immer im GXModules. Damit die auch im Gambio Admin unter dem CronJobs angezeigt werden musst du noch JSON Dateien anlegen. Dazu schau dir die src/GXModules/Gambio/Afterbuy/Admin/CronjobConfiguration/Afterbuy.json Datei an. Also in deinem Fall müsste der HalloWelt CronJob von dir im Ordner /GXModules/MeineFirma/MeinCronJobModul/Admin/Classes/ abgelegt werden und im Ordner /GXModules/MeineFirma/MeinCronJobModul/Admin/CronJobConfiguration/ eine MeinCronJob.json Datei ablegen. Zusätzlich müsstest du noch ein paar Sprachdateien anlegen, wenn die Texte im Gambio Admin bei den zeitgesteuerten Aufgaben für mehrere Sprachen übersetzt angezeigt werden sollen.