Hallo,
Wie kann man in der install-Methode eines Plugins einen Cronjob anlegen, der jede Nacht alle Artikel einer bestimmten Kategorie löscht, sobald die Anlage des Artikels länger al N Tage her ist?
Vielen Dank für euren Input
Liebe Grüße
Hallo,
Wie kann man in der install-Methode eines Plugins einen Cronjob anlegen, der jede Nacht alle Artikel einer bestimmten Kategorie löscht, sobald die Anlage des Artikels länger al N Tage her ist?
Vielen Dank für euren Input
Liebe Grüße
Hallo @MrFrox,
hier finden Sie wie kann man ein neue Cronjob erstellen:
VG,
Tel.: +49 755 - 183 990 00 | Email: info@enbit.de | Web: http://enbit.de/
Vielen Dank für den Tipp. Ich habe es entsprechend umgesetzt und das Update des Pluginins durchgeführt. Daraufhin Erscheint mein Cronjob auch in der Liste im Backend unter Grundeinstellungen/System/Cronjobs und ist aktiv geschaltet. In meinem Subscriber habe ich nun einfach genau den Namen verwendet, den ich in der config.xml im name-Tag eingegeben habe. In der Funktion, die daraufhin ausgeführt werden soll, ist einfach nur ein dump(time());. Leider kommt keine Ausgabe in meinem dump-file an. Woran könnte das liegen?
Hallo @MrFrox,
es werde nichts geben in diese Fall, Sie müssen return deine Ausgabe in das Funktion.
also return time();
VG,
Tel.: +49 755 - 183 990 00 | Email: info@enbit.de | Web: http://enbit.de/
Es wäre auch hilfreich, wenn du dein Code posten würdest
Ich habe es so gemacht: die Datei PluginName/Resources/cronjob.xml:
Test Cronjob
PluginName_DoJob
true
60
true
Mein Event Subscribe ich so:
public static function getSubscribedEvents()
{
return [
'PluginName_DoJob' => 'onDoJob'
]
}
public function onDoJob(\Shopware_Components_Cron_CronJob $job){
dump('Geschafft');
}
Der Prefix fehlt im Event Namen Shopware_CronJob_
Du müsstest dich auf das Event Shopware_CronJob_PluginName_DoJob subscriben
Hallo,
das Ganze steht auch ausführlich in den Shopware Dokumentationen beschrieben: https://developers.shopware.com/developers-guide/plugin-quick-start/#plugin-cronjob .
Grüße
Sebastian
@Shyim also so?
Die Datei PluginName/Resources/cronjob.xml:
Test Cronjob
Shopware_CronJob_PluginName_DoJob
true
60
true
Mein Event Subscribe ich so:
public static function getSubscribedEvents()
{
return [
'Shopware_CronJob_PluginName_DoJob' => 'onDoJob'
]
}
public function onDoJob(\Shopware_Components_Cron_CronJob $job){
dump('Geschafft');
}
Leider geht es auch nicht. …und wenn ich Losschreibe “Shopware_CronJob_” in phpstorm, wird mir einiges an Suggestionen gegeben, aber mein Job ist nicht dabei.
Mein Cronjob wird übrigens ausgeführt, wenn ich im Browser auf www.url.de/backend/cron gehe,automatisch, alle 1 minute passiert das allerdings nicht.