Neu Cron für Export-Manager "tut nix"

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Moin,

bisher hatte ich Shop4 in eigener Regie auf eigenem Webserver.
Da konnte ich schnell eingreifen wenn was nicht lief. Nun habe ich Shop5 mit JTL Hosting.

Die Exporte (Google Shopping, Relevanz etc.) laufen nicht wirklich.
Einmal täglich - bei erreichen der "nächster Start (geplant)" Zeit - läuft der Export wohl an, erstellt fast leere Dateien und das war's dann.
Egal ob jemand im Shop surft, oder per Cronjob von extern die "cron_inc" aufgerufen wird. Es passiert nichts mehr.
Auch ein "Cron manuell anstoßen" bringt keinerlei weitere Exporte. Bei den Einstellungen für Pseudo-Cron-Methode habe ich auch schon beide Möglichkeiten getestet.

Hat da jemand eine Ahnung? Oder schnelle Lösung?
Ein Ticket hatte ich schon aufgemacht, aber bisher gab es keine Rückmeldung.

Bis zum Update von Shop 5.2 auf 5.3 scheint es funktioniert zu haben, denn das Datei-Datum der letzten Erzeugung steht auf genau diesem Datum fest.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Moin,

bisher hatte ich Shop4 in eigener Regie auf eigenem Webserver.
Da konnte ich schnell eingreifen wenn was nicht lief. Nun habe ich Shop5 mit JTL Hosting.

Die Exporte (Google Shopping, Relevanz etc.) laufen nicht wirklich.
Einmal täglich - bei erreichen der "nächster Start (geplant)" Zeit - läuft der Export wohl an, erstellt fast leere Dateien und das war's dann.
Egal ob jemand im Shop surft, oder per Cronjob von extern die "cron_inc" aufgerufen wird. Es passiert nichts mehr.
Auch ein "Cron manuell anstoßen" bringt keinerlei weitere Exporte. Bei den Einstellungen für Pseudo-Cron-Methode habe ich auch schon beide Möglichkeiten getestet.

Hat da jemand eine Ahnung? Oder schnelle Lösung?
Ein Ticket hatte ich schon aufgemacht, aber bisher gab es keine Rückmeldung.

Bis zum Update von Shop 5.2 auf 5.3 scheint es funktioniert zu haben, denn das Datei-Datum der letzten Erzeugung steht auf genau diesem Datum fest.
OK, vor ein paar wenigen Minuten kam die Support-Antwort:

In der Tat ist da ein dicker Bug in Shop 5.3 der nicht so schnell gefixt werden kann.
Aktuell funktioniert der Export ausschließlich per "Hand" => asynchron
 
  • Gefällt mir
Reaktionen: sah

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
137
69
Hückelhoven
Vorweg: Ich bin Supporter, kein Entwickler. Aber ich habe dazu folgenden Hotfix entwickelt, der in meinem Testshop funktioniert hat.

⚠️Aber: Ohne Gewähr.⚠️

Der Hotfix erfordert einen Eingriff in den Shop Core und ins Plugin:

Shop-Core:

In der /includes/src/Export/Exporter/PluginExporter.php folgendes unter dem } in Zeile 106 einfügen:

PHP:
private function quitGoogle(string $error = null)
    {
        if ($this->isCron) {return $this->isFinished();}
        
        $cb = new AsyncCallback();
        $cb->setProductCount(0);
        $cb->setError($error);

        return $this->syncReturn($cb);
    
    }

In der gleichen Datei in Zeile 96 das return $this->quit(); mit folgendem ersetzen:


PHP:
//Workaround GoogleShopping
        if ($this->model->getContent()==='PluginContentFile_googleShopping.php')
        {
            return $this->quitGoogle();
        } else {
            return $this->quit();
        }


Plugin:

in der /plugins/jtl_google_shopping/adminmenu/exportformat/googleShopping.php die } in Zeile 21 mit folgendem ersetzen:

PHP:
} else {$this->finishedInThisRun=true;}

Ich hänge die gepatchten Dateien für 5.3.1 und Google Shopping 2.2.2 an. Die Pfade in der ZIP sollten korrekt sein, falls nicht:

Die PluginExporter.php gehört in /includes/src/Export/Exporter
Die googleShopping.php gehört in /plugins/jtl_google_shopping/adminmenu/exportformat/

⚠️Backups nicht vergessen, Verwendung auf eigene Gefahr.⚠️

Der Hotfix ist eher konservativ und fügt einen Workaround speziell für GoogleShopping ein. Andere Plugin-Exporte sollten davon nicht betroffen sein.
 

Anhänge

McMarty

Aktives Mitglied
23. Januar 2018
29
4
OK, vor ein paar wenigen Minuten kam die Support-Antwort:

In der Tat ist da ein dicker Bug in Shop 5.3 der nicht so schnell gefixt werden kann.
Aktuell funktioniert der Export ausschließlich per "Hand" => asynchron
Das ist richtig giftig - wir sind auch gerade ins "offene Messer gelaufen". Wenn die Preise zu lange ungleich sind zwischen Shop und Google ads, dann werden die Produkte von Google automatisch entfernt. Wenn es zu viele Produkte betrifft kann das sogar zur Sperrung des gesamten Feeds führen. Eine Information seitens JTL wäre echt nett gewesen. Ich habe im IssueTracker nichts gefunden. Was heißt denn wohl "kann nicht so schnell gefixt werden" ?

Danke OliverS für den schnellen Lösungsansatz. Bitte nicht böse sein aber ich bin da ehrlich gesagt noch etwas skeptisch. Vielleicht gibts noch einen offiziellen Fix? Das wäre großartig ...
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Eine Information seitens JTL wäre echt nett gewesen. Ich habe im IssueTracker nichts gefunden.
Laut Nachricht vom Support gab es bis zu meiner Meldung nur 2 Support-Tickets - daher haben die wohl nicht angenommen das es alle betrifft und auch keinen entsprechenden priorisierten Handlungsbedarf gesehen.
Seit erkennen des allgemeinen Problems arbeiten die wohl daran, aber vielleicht sollten sich einfach mal alle betroffenen melden damit das forciert wird.

Man kann - was die GOOGLE-Exporte angeht, aber von Hand einen asynchronen export anstoßen. Das Fenster muss aber offen bleiben, ggf muss man alle paar Stunden nochmals anschubsen falls es sehr viele Artikel sind.
 
  • Gefällt mir
Reaktionen: McMarty

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
137
69
Hückelhoven
Es gibt da noch einen einfacheren, weniger konservativen Hotfix für GoogleShopping:

in der /includes/src/Export/Exporter/PluginExporter.php Zeile 96 mit folgender ersetzen:

PHP:
return $this->isCron ? $export->isFinished() : $this->quit();

Das wird in diesem Fall allerdings ggf. auch Auswirkungen auf andere Plugins haben, die per Cron exportieren.

Edit: Als Kompromiss aus beiden Hotfixes wäre es auch möglich, die Zeile durch folgendes zu ersetzen:

PHP:
//Workaround GoogleShopping
if ($this->model->getContent()==='PluginContentFile_googleShopping.php')
{
return $this->isCron ? $export->isFinished() : $this->quit();
} else {
return $this->quit();
}

Das ändert dann wiederum nur speziell für GoogleShopping und bereits funktionierende Plugin-Exporte sollten davon unberührt bleiben.
 
Zuletzt bearbeitet:

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
137
69
Hückelhoven
Laut Nachricht vom Support gab es bis zu meiner Meldung nur 2 Support-Tickets - daher haben die wohl nicht angenommen das es alle betrifft und auch keinen entsprechenden priorisierten Handlungsbedarf gesehen.
Seit erkennen des allgemeinen Problems arbeiten die wohl daran, aber vielleicht sollten sich einfach mal alle betroffenen melden damit das forciert wird.
Das hat eine hohe Priorität. Die Problematik ist uns da auch bewusst, sonst würde ich hier keinen Hotfix anbieten. Ticket dazu existiert ebenfalls: https://issues.jtl-software.de/issues/SHOP-8017
 

McMarty

Aktives Mitglied
23. Januar 2018
29
4
Das wird in diesem Fall allerdings ggf. auch Auswirkungen auf andere Plugins haben, die per Cron exportieren.
Was für Auswirkungen sind das denn genau? Wir haben noch exporter zu verschiedenen anderen Diensten...

Das hat eine hohe Priorität. Die Problematik ist uns da auch bewusst, sonst würde ich hier keinen Hotfix anbieten. Ticket dazu existiert ebenfalls: https://issues.jtl-software.de/issues/SHOP-8017
Ah ok das war so eben nicht erkennbar. Ich habe gerade auch ein Ticket dazu auf gemacht.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Was für Auswirkungen sind das denn genau? Wir haben noch exporter zu verschiedenen anderen Diensten...


Ah ok das war so eben nicht erkennbar. Ich habe gerade auch ein Ticket dazu auf gemacht.
Ja, sorry. Ich drücke mich manchmal etwas unverständlich aus.
bis zu meiner Meldung nur 2 Support-Tickets - daher haben die wohl nicht angenommen das es alle betrifft und auch keinen entsprechenden priorisierten Handlungsbedarf gesehen.
Seit erkennen des allgemeinen Problems arbeiten die wohl daran
Sollte nur heißen das es bis zu meiner Meldung (vor einigen Tagen) nichts dazu gab, aber seit erkennen des Problems eben priorisiert daran gearbeitet wird.
 

McMarty

Aktives Mitglied
23. Januar 2018
29
4
Das sollte auch keine Generalkritik an deiner Ausdrucksweise sein. Es ist nur so das wir als Shopbetreiber keinen Einblick haben was mit welcher Priorität bis wann bearbeitet wird (außer das Versionsziel im Bugtracker). Das führ einfach schnell zu Frust ...
 

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
137
69
Hückelhoven
Was für Auswirkungen sind das denn genau? Wir haben noch exporter zu verschiedenen anderen Diensten...
Der etwas komplexere Hotfix weiter oben sollte da keine Auswirkungen haben, weil da ein Spezialfall für GoogleShopping eingerichtet wird. Beim einfacheren werden Plugin-Exporte über den Cron zwar vermutlich durchlaufen, aber eventuell nicht abgeschlossen. Es sei denn, die Exporte durch die anderen Plugins benutzen die gleichen Variablennamen wie GoogleShopping. Wenn die restlichen allerdings keine Plugin-Exporte sind, sondern Exporte, die über den Shop selbst angelegt wurden, sind beide Varianten kein Problem.
 
  • Gefällt mir
Reaktionen: McMarty

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Der etwas komplexere Hotfix weiter oben sollte da keine Auswirkungen haben, weil da ein Spezialfall für GoogleShopping eingerichtet wird. Beim einfacheren werden Plugin-Exporte über den Cron zwar vermutlich durchlaufen, aber eventuell nicht abgeschlossen. Es sei denn, die Exporte durch die anderen Plugins benutzen die gleichen Variablennamen wie GoogleShopping. Wenn die restlichen allerdings keine Plugin-Exporte sind, sondern Exporte, die über den Shop selbst angelegt wurden, sind beide Varianten kein Problem.
Habe die "kürzere" Version umgesetzt.
Google-Shopping Plugin Export läuft wieder.

Andere Plugin-Exporte laufen bei mir nicht.
relevanz und Meta Pixel Produktkatalog.
Für diese gibt es eine vermutlich falsche Fehlermeldung über angeblich falsche Schreibrechte.
Da das vor dem Update von 5.2 auf 5.3 aber einwandfrei lief und sich die Schreibrechte nicht geändert haben sollten, muss das ein anderes Problem sein.
 

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
137
69
Hückelhoven
Habe die "kürzere" Version umgesetzt.
Google-Shopping Plugin Export läuft wieder.

Andere Plugin-Exporte laufen bei mir nicht.
relevanz und Meta Pixel Produktkatalog.
Für diese gibt es eine vermutlich falsche Fehlermeldung über angeblich falsche Schreibrechte.
Da das vor dem Update von 5.2 auf 5.3 aber einwandfrei lief und sich die Schreibrechte nicht geändert haben sollten, muss das ein anderes Problem sein.
Sind die beiden Plugins denn für 5.3 freigegeben, bzw. Versionen für 5.3 installiert? Die Export-Schnittstelle hat sich geändert, ohne Update könnte es generell möglich sein das die nicht funktionieren, falls die Plugins die Export-Schnittstelle nutzen und das nicht selbst machen.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Sind die beiden Plugins denn für 5.3 freigegeben, bzw. Versionen für 5.3 installiert? Die Export-Schnittstelle hat sich geändert, ohne Update könnte es generell möglich sein das die nicht funktionieren, falls die Plugins die Export-Schnittstelle nutzen und das nicht selbst machen.
Nun, in der Plugin-Übersicht sehe ich keine Fehlermeldungen, die Shop-Version stimmt mit den angezeigten Mindestversionen überein.
Die Plugin-Einstellungen lassen sich allesamt problemlos öffnen und konfigurieren.

Wenn man dann aber im Kleingedruckten der Dokus bei WS herumsucht sind die Plugins NICHT explizit für >= 5.3 freigegeben.
Habe also die "Ars**karte" gezogen und muss hoffen das der Shop und auch die Plugins kurzfristig gefixt / angepasst werden.

Mach ich halt Urlaub. Bin eh krank 🤪
 

McMarty

Aktives Mitglied
23. Januar 2018
29
4
PHP:
Code:
//Workaround GoogleShopping
if ($this->model->getContent()==='PluginContentFile_googleShopping.php')
{
return $this->isCron ? $export->isFinished() : $this->quit();
} else {
return $this->quit();
}
Kurze Rückmeldung: Die Variante läuft bei uns jetzt seit einer knappen Woche, zusammen mit anderen Exporten die über "Exportformate" erstellt wurden, ohne Probleme.
 

ple

Sehr aktives Mitglied
20. August 2019
896
188
kann sein, dass es auch unter 5.2.4 nicht funktioniert?
Unter export => weitere Exporte => googleshopping steht immer nur das Datum, wo ich es mal händisch gemacht habe, aber das ist schon Tage her.

Gruß
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Sind die beiden Plugins denn für 5.3 freigegeben, bzw. Versionen für 5.3 installiert? Die Export-Schnittstelle hat sich geändert, ohne Update könnte es generell möglich sein das die nicht funktionieren, falls die Plugins die Export-Schnittstelle nutzen und das nicht selbst machen.
Ja, inzwischen sind die Plugins für 5.3 angepasst, läuft aber trotzdem nicht
 

simplybecause

Sehr aktives Mitglied
25. Dezember 2012
212
45
Bin mit Shopversion 5.2.4 gestartet (noch nicht online) und habe die Plugin-Version 2.2.2 gerade eingerichtet.
Oben genannte Änderungen habe ich nicht übernommen.
Der Export-Manager kommt nicht über 500 hinaus (ist nur ein Bruchteil der Artikel), der Cron läuft aber.
Die Datei enthält aber alle Artikeldaten. Komisch.
 

henning_hellomini

Neues Mitglied
23. April 2026
2
0
Kann es sein, dass das immer noch nicht gefixt wurde? 🧐
Wieso exportieren die Formate nicht einfach zur angegebene Zeit?
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.902
219
Kann es sein, dass das immer noch nicht gefixt wurde? 🧐
Wieso exportieren die Formate nicht einfach zur angegebene Zeit?
Also bei mir - Shop 5.7.1 - tut es - startet auch zur angegebenen Zeit. Leider nur sehr sehr SEHR langsam.
Google startet bei mir wie geplant um 02:00 Uhr, und ist dann um 05:01 fertig (= 3 Stunden für 189K Artikel)

relevanz startet um 05:00 Uhr und braucht ~2 Stunden für gerade mal 22K Artikel

Aber startet wie eingetragen
 

Ähnliche Themen