Ich habe ein eigenes Shopware-Plugin entwickelt. In diesem Plugin sollte eine Funktion per konventionellem Cronjob (also nicht mit der Shopware-Cronjob-Funktion!) aufgerufen werden können. Wie realisiere ich das? Im Forum habe ich dazu leider keine passenden Code-Beispiele gefunden.
Hi, wenn du das SW-eigene Cron-System nicht nutzen möchtest (was bei langlaufenden Cronjobs ja auch durchaus sinnvoll sein kann), dann erstellst du dir am besten ein Symfony-Consolen-Kommando und führst das mit deinem System-Cronjob aus. Du kannst theoretisch auch einfach einen eigenen Controller-Implementieren und den aufrufen lassen - das wäre die Variante, wenn du den Cronjob per URL triggern musst / willst. Daniel
Das klingt ja sehr interessant. Ich hab ein ähnliches Problem und suche jetzt nach einer Möglichkeit mein Consolen Kommando per Shopware System Cron aufzurufen. Zu dem Punkt: [quote]dann erstellst du dir am besten ein Symfony-Consolen-Kommando und führst das mit deinem System-Cronjob aus[/quote] Gibt es dazu ein Beispiel wie ich das Komando aus meinem Cron aufrufen kann? Bisher hab ich dazu leider nichts konkretes gefunden. Aus reiner Neugier frag ich gleich auch noch nach dem 2ten Punkt: [quote]Du kannst theoretisch auch einfach einen eigenen Controller-Implementieren und den aufrufen lassen - das wäre die Variante, wenn du den Cronjob per URL triggern musst / willst.[/quote] Zu guter letzt: Kann ich Informationen aus dem Cronjob auch in dem Kommando verfügbar machen? Ich benötige zumindest die Zeitstempel des letzten Laufs.
Hi, die Konsolen-Kommandos sind ganz normale Shell-Skripte, die rufst du bspw. so auf: php /var/www/www.dein-shop.de/bin/console sw:deinPlugin:machWas
Wenn du da einfach was ausgibt ($outputInterface->write(“hallo welt”)) siehst du das in der Konsole. Schönen Gruß, Daniel