Gelöst Sync-Job bricht aufgrund fehlender Bilder ab (v1.1.0)

  • Temporäre Senkung der Mehrwertsteuer Hier findet ihr gesammelt alle Informationen, Videos und Fragen inkl. Antworten: https://forum.jtl-software.de/threads/mehrwertsteuer-senkung-vom-01-07-31-12-2020-offizieller-diskussionthread-video.129542/

Volker J

Neues Mitglied
11. August 2020
12
1
Hallo Community,


ich versuche mich seit gestern an einem initialen Upload von Artikeln nach Shopify mit dem Shopify- Connector.

Nachdem sich ein Problem beim Artikel-Upload erledigt hat (siehe Thread), bricht der Sync-Job nun nach ungefähr 400 von 1217 Bildern ab.

Die Fehlermeldung:
Code:
Exception: Image | Related type Product (hostId = 1405) | Shopify image not found! | hostId = 60825
Image | Related type Product (hostId = 1944) | Shopify image not found! | hostId = 62589
Abschlussinfo-Senden-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Image | Related type Product (hostId = 1405) | Shopify image not found! | hostId = 60825
Image | Related type Product (hostId = 1944) | Shopify image not found! | hostId = 62589
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.lmJjQyJ9SjL(String  , Object  , Boolean  , NetworkCredential  )
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.FinishCall()
   bei jtlCore.ControllerClasses.Connector.Abgleich.EntityAbgleicher.ConnectorFinishCallTask.Run()
   bei JTL.Connector.Business.SyncRunner.Run()
Die Meldung "Shopify image not found!" macht für mich unter dem Aspekt keinen Sinn, dass es sich um einen initialen Import handelt.
Bedeutet: Es gab bislang gar keine Bilder in Shopify, die nicht mehr gefunden werden könnten.

Was sagt die Fehlermeldung aus und und was kann ich tun?
 

Immanuel

Moderator
Mitarbeiter
24. August 2016
946
201
Hallo @Volker J,

die Bilder konnten aus irgendeinem Grund nicht zum Shopify Server hochgeladen werden. Das passiert meistens dann, wenn die Größe des Bildes das Bildgrößen Limit von Shopify überschreitet. Wir werden die Fehlermeldung entsprechend anpassen, damit sie etwas verständlicher formuliert ist. Um herauszufinden an welchen Artikeln die "Problembilder" hängen, kann die in der Fehlermeldung angegebene Host Id verwendet werden. Die Host Id entspricht der "Internen Nummer" (bzw. kArtikel) des Produkts in JTL-Wawi.
 

Volker J

Neues Mitglied
11. August 2020
12
1
Hi @Immanuel,

Danke für Deine Antwort.

Die Fehlermeldung ist in der Tat irreführend :)

Ich habe die beiden Artikel geprüft:
hostID = 1405 -> Alle hinterlegten Bilder haben maximale Abmessung von 800x510px und sind maximal 50kb groß. Hier kann ich mir ein überschreiten des Limits bei Shopify nicht vorstellen.
hostID = 1944 -> Hier haben die hinterlegten Bilder zwar recht große Abmessungen, sind jedoch maximal 418kb groß.

Die hier angegebenen Limits werden also sicher nicht überschritten:
https://help.shopify.com/en/manual/online-store/os/using-themes/change-the-layout/images#:~:text=Images uploaded to Shopify can,20 megabytes

Entsprechend stehe ich gerade weiterhin auf dem Schlauch, woran es scheitert. Gibt die API eine Fehlermeldung zurück? Im Logfile kann ich jedenfalls keine finden.

Anmerkung zur Host Id:
Wäre es zusätzlich möglich, neben dem Datenbankfeld kArtikel in der Fehlermeldung auch das Feld cArtNr auszuweisen? Weil nach cArtNr kann ich auch innerhalb von JTL suchen und bin nicht auf eine SQL-Abfrage angewiesen.

Abschließend noch eine Frage:
Es ist ungünstig, dass der gesamte Sync-Job bei solchen Fehlern abbricht und nicht weiterläuft, wenn es bei einzelnen Artikeln (oder hier Bildern) nicht klappt. Im Moment stoße ich den Sync-Job immer wieder manuell an und muss mich so von Fehler zu Fehler hangeln.
Kann der Sync-Job nicht komplett durchlaufen und am Ende das Protokoll ausweisen?

Danke für Deine Hilfe
 

Volker J

Neues Mitglied
11. August 2020
12
1
Im Moment stoße ich den Sync-Job immer wieder manuell an und muss mich so von Fehler zu Fehler hangeln.
Hierzu noch eine Anmerkung:
Das ist besonders unter dem Aspekt wirklich nervig, als dass der Sync-Job extrem langsam läuft. Beispielsweise brauchen 10 Artikel im Schnitt 70 Sekunden. 10 Bilder etwa 1,5 Minuten.
Entsprechend stoße ich einen Sync an und kann eine Stunde später prüfen, ob der Job wieder hängen geblieben ist.

Ich fürchte, so brauche ich noch Tage, bis die Artikel endlich mal vollständig mitsamt Bildern online sind...
 

Volker J

Neues Mitglied
11. August 2020
12
1
[...]
hostID = 1944 -> Hier haben die hinterlegten Bilder zwar recht große Abmessungen, sind jedoch maximal 418kb groß.

Die hier angegebenen Limits werden also sicher nicht überschritten:
https://help.shopify.com/en/manual/online-store/os/using-themes/change-the-layout/images#:~:text=Images uploaded to Shopify can,20 megabytes
OK - ich hab nochmal tiefer gegraben:
https://help.shopify.com/en/manual/products/product-media/product-media-types

Die Bilder überschreiten die hier angegebenen Dimensionen bei Host Id 1944 -> das können wir korrigieren.

1405 kann ich mir jedoch weiterhin nicht erklären.
 

Immanuel

Moderator
Mitarbeiter
24. August 2016
946
201
Entsprechend stehe ich gerade weiterhin auf dem Schlauch, woran es scheitert. Gibt die API eine Fehlermeldung zurück? Im Logfile kann ich jedenfalls keine finden.
An der Stelle wird von der API keine Fehlermeldung zurückgegeben, im Response fehlt lediglich das Bild.

Wäre es zusätzlich möglich, neben dem Datenbankfeld kArtikel in der Fehlermeldung auch das Feld cArtNr auszuweisen? Weil nach cArtNr kann ich auch innerhalb von JTL suchen und bin nicht auf eine SQL-Abfrage angewiesen.
Wir könnten die in Shopify hinterlegt SKU in der Fehlermeldung mit angeben. Auf Produktdaten aus JTL-Wawi (abgesehen von kArtikel) gibt es beim Image Upload keinen Zugriff.

Es ist ungünstig, dass der gesamte Sync-Job bei solchen Fehlern abbricht und nicht weiterläuft, wenn es bei einzelnen Artikeln (oder hier Bildern) nicht klappt. Im Moment stoße ich den Sync-Job immer wieder manuell an und muss mich so von Fehler zu Fehler hangeln.
Kann der Sync-Job nicht komplett durchlaufen und am Ende das Protokoll ausweisen?
Das geht aufgrund der Arbeitsweise der Connector Schnittstelle nicht..

1405 kann ich mir jedoch weiterhin nicht erklären.
Bitte schau mal im Shopify Backend ob dort die Bilder auftauchen.
 

Volker J

Neues Mitglied
11. August 2020
12
1
Stark...! Danke für die schnellen Antworten, @Immanuel

An der Stelle wird von der API keine Fehlermeldung zurückgegeben, im Response fehlt lediglich das Bild.
OK

Wir könnten die in Shopify hinterlegt SKU in der Fehlermeldung mit angeben. Auf Produktdaten aus JTL-Wawi (abgesehen von kArtikel) gibt es beim Image Upload keinen Zugriff.
Die SKU wäre gut und käme aufs gleiche hinaus :thumbsup:

Das geht aufgrund der Arbeitsweise der Connector Schnittstelle nicht..
Hm... nicht schön. Gegenwärtig führe ich den Sync-Job noch manuell aus. Wie verhält sich das System, wenn ich den Job später in den Hintergrund schicke und der Job so über den Worker läuft?

Kann ich irgendwie monitoren, ob der Job hängen bleibt?
Weil offensichtlich knallt es an einigen Stellen ja wegen Stammdatenproblemen - wie hier die Bildgrößen. Und wenn eines sicher ist; dann, dass der User Stammdaten falsch pflegt ;)

Bestimmt kannst Du auch folgende Frage beantworten... :D
In welcher Datenbanktabelle speichert JTL die Produktbilder und wie heißt die zugehörige n:m-Beziehungstabelle zu tArtikel?
... weil dann könnte ich die zu großen Bilder und zugehörigen Artikel immerhin über ein SQL-Statement ermitteln.

Bitte schau mal im Shopify Backend ob dort die Bilder auftauchen.
Es sind tatsächlich alle in JTL gepflegten Produktbilder in Shopify beim zugehörigen Artikel vorhanden. Eines der Bilder ist jedoch 4x im Backend angelegt. Das entspricht der Anzahl an Sync-Versuchen heute...
 

trummerjo

Aktives Mitglied
30. März 2016
87
22
Es sind tatsächlich alle in JTL gepflegten Produktbilder in Shopify beim zugehörigen Artikel vorhanden. Eines der Bilder ist jedoch 4x im Backend angelegt. Das entspricht der Anzahl an Sync-Versuchen heute...
Schau mal ob die Reihenfolge (also 1-4) richtig angegeben ist bei den Artikelbilder in der Wawi sowohl bei global als auch beim entsprechenden Onlineshop. Das sorgt oft für Probleme beim Upload der Bilder


Wir könnten die in Shopify hinterlegt SKU in der Fehlermeldung mit angeben. Auf Produktdaten aus JTL-Wawi (abgesehen von kArtikel) gibt es beim Image Upload keinen Zugriff.
Das wäre grandios!
 

Volker J

Neues Mitglied
11. August 2020
12
1
Hi @trummerjo

Schau mal ob die Reihenfolge (also 1-4) richtig angegeben ist bei den Artikelbilder in der Wawi sowohl bei global als auch beim entsprechenden Onlineshop. Das sorgt oft für Probleme beim Upload der Bilder
Ich hab den Artikel geprüft. Die Reihenfolge passt auf allen Reitern. Ich habe es auch gerade mit Artikeln gegen geprüft, bei denen die Bilder korrekt synchronisiert wurden.

Ich kann leider keine ungewöhnliche Abweichung feststellen, die den Fehler erklären würde.
 

trummerjo

Aktives Mitglied
30. März 2016
87
22
Ein versuch wäre es noch die Bilder zu deaktivieren (also bei dem einen betroffenen Artikel).
Dann einen Abgleich machen. Dann die übrig gebliebenen Bilder in Shopify Löschen. Und dann wieder die Bilder zu aktivieren. Und dann wieder den abgleich zu starten.
Zusätzlich ist es oft angenehmer bei solchen sachen die Paketgröße für den Upload von Bildern auf 1 zu stellen.

Bilder und der Shopify Connector sind immer ein bisschen wie Lotto spielen.
 

Volker J

Neues Mitglied
11. August 2020
12
1
Ein versuch wäre es noch die Bilder zu deaktivieren (also bei dem einen betroffenen Artikel).
Dann einen Abgleich machen. Dann die übrig gebliebenen Bilder in Shopify Löschen. Und dann wieder die Bilder zu aktivieren. Und dann wieder den abgleich zu starten.
OK - versuche ich

Zusätzlich ist es oft angenehmer bei solchen sachen die Paketgröße für den Upload von Bildern auf 1 zu stellen.
Was meinst Du mit Paketgröße?
Also, das erstmal nur ein Bild bei dem Produkt für den Onlineshop ausgewählt wird? Weil im Connector selbst hab ich keine entsprechende Einstellungsmöglichkeit gefunden.

Bilder und der Shopify Connector sind immer ein bisschen wie Lotto spielen.
Hm... wenig erbaulich unter dem Aspekt, dass es der Connector ein kostenpflichtiges Produkt ist.
Gutes Logging, Debugging und Monitoring sollten da eher Pflicht als Kür sein :rolleyes:
 

Volker J

Neues Mitglied
11. August 2020
12
1
In welcher Datenbanktabelle speichert JTL die Produktbilder und wie heißt die zugehörige n:m-Beziehungstabelle zu tArtikel?
... weil dann könnte ich die zu großen Bilder und zugehörigen Artikel immerhin über ein SQL-Statement ermitteln.
Mit diesem Statement hab ich schon einmal ein paar problematische Kandidaten gefunden:

SQL:
SELECT distinct tb.[kBild] as BildID
      ,tabp.kArtikel
      ,ta.cArtNr
      ,[nNr]
      ,[cQuelle]
      ,[nDateigroesse]
      ,[nBreite]
      ,[nHoehe]

  FROM [eazybusiness].[dbo].[tBild] as tb
  left join [eazybusiness].[dbo].[tArtikelbildPlattform] as tabp on tb.kBild = tabp.kBild
  left join [eazybusiness].[dbo].[tArtikel] as ta on tabp.kArtikel = ta.kArtikel
  where nBreite > 4000 OR nHoehe > 4000
 

Immanuel

Moderator
Mitarbeiter
24. August 2016
946
201
FYI: Wir werden uns dem Thema Image Upload im Shopify Connector annehmen und kommende Woche ein entsprechendes Release herausbringen.

Folgende Schwerpunkte haben wir uns dabei gesetzt:
  • Optimierung der Bildübertragung
  • Erhöhung der Uploadgeschwindigkeit
  • Aussagekräftigere Fehlermeldungen
 

Volker J

Neues Mitglied
11. August 2020
12
1
Vor 5 Minuten ist bei mir der Sync-Job vollständig und erfolgreich durchgelaufen :)

Ich fasse nochmal zusammen
  1. Die Bildabmessungen und Bildgrößen dürfen für Shopify nicht zu groß sein.
    "Your product and collection images can be any size up to 4472 x 4472 px, or 20 megapixels. Product and collection images need to have a file size smaller than 20 MB to be added to Shopify."
    Siehe: https://help.shopify.com/en/manual/products/product-media/product-media-types

  2. Mit oben stehendem SQL-Statement kann man die zu großen Bilder in der Datenbank identifizieren und so gezielt korrigieren
    -> https://forum.jtl-software.de/threa...fehlender-bilder-ab-v1-1-0.134333/post-738371

  3. Die Batch-Größe sollte nicht zu groß gewählt werden
    -> https://forum.jtl-software.de/threa...fehlender-bilder-ab-v1-1-0.134333/post-738293
    -> https://forum.jtl-software.de/threa...fehlender-bilder-ab-v1-1-0.134333/post-738308

Danke @Immanuel und @trummerjo für eure Hilfe und die Tipps!


Wir werden uns dem Thema Image Upload im Shopify Connector annehmen und kommende Woche ein entsprechendes Release herausbringen.
Super! Danke für Deine schnelle und kompetente Hilfe!
 
  • Gefällt mir
Reaktionen: Immanuel

Volker J

Neues Mitglied
11. August 2020
12
1
Ich finde dafür leider keine Möglichkeit, wo ich das einstellen könnte - aber der Thread kann als gelöst markiert werden