Sehr langer/langsamer Flow mit low-level Errors: aufsplitten?

Hi, ich habe einen sehr lange laufenden Flow, der seit kurzem seltsame Fehler produziert.

Ich rufe per PlentyGetVariations alle Varianten (etwa 45.000) ab, und gebe dieses Spreadsheet als Input in ein PlentyGetItemImages um alle Bilder abzurufen, das sind etwa 200.000 Stück. Dann generiere ich mir Alt-Texte für die Bilder, und schreibe sie (falls es eine Änderung gab) zurück per PlentyUpdateImages.

Das läuft im erfolgreichen Fall schon etwa 13 Stunden. Seit kurzem enden meine Flows aber alle mit Warnings, und das ganze läuft dann etwa 24 Stunden :exploding_head:

Mit den Warnungen kann ich leider nichts anfangen, der interessante Teil ist abgeschnitten:

Aber ihr sehts ja an den Timestamps: da vergehen etwa 14 Stunden.
Spannend ist aber der Alt-Text, der dann zurück geschrieben wird:

Artikelbild 1 von "could not prepare statement [Connection is closed] [select d1_0.id,d1_0.changeTrackingIgnoredFields,d1_0.config,d1_0.created_at,d1_0.customer_id,d1_0.databasetype,d1_0.schema_id,d2_0.id,d2_0.created_at,d2_0.customer_id,d2_0.fielddefiniti

Das sieht mir nach was internem aus, oder?

Den Text generiere ich mir als

Artikelbild ${ImagePosition?number + 1} von "${txt_Name3}"

Und mein txt_Name3 ist das Ergebnis auf einen Querverweis auf einen Datastore.


Aber gut: das läuft halt auch ewig. Da kann sich schon mal eine Verbindung schließen, bzw ein gecachtes Ergebnis nicht mehr zur Verfügung stehen.

Mir reicht auch eine Workaround statt einer Behebung des grundsätzlichen Problems :nerd_face:

Und zwar dachte ich daran, meine Varianten per Splitter in drei Päckchen zu 20.000 Varianten zu zerlegen. Und dann die nachfolgenden Steps in drei Gruppen zu kopieren, und jeweils eins der resultierenden Spreadsheets rein zu füttern. Aber wie? :thinking:

Der Splitter gibt mir eine SPREADSHEETLIST, aber der PlentyGetItemImages nimmt nur SPREADSHEET, und lässt mich den Splitter schon gar nicht auswählen. Wie kann ich vorgehen? Ich will quasi ein SPREADSHEETLIST[0] in einen PlentyGetItemImages füttern, und ein SPREADSHEETLIST[1] in einen weiteren, usw

Im Prinzip brauch ich ein FileFromFilelist für Spreadsheets.

Ich steh mal wieder auf dem Schlauch :grimacing:

Danke im Voraus,
Daniel

Hallo Daniel,

Ja, das ist eine interne Fehlermeldung von uns. Das Problem ist da der Querverweis in Kombination mit der langen Laufzeit. Die Verbindung läuft in ein Timeout und wird geschlossen, was zu der Fehlermeldung beim Querverweis führt.

Ein Pendant zum FileFromFilelist für Spreadsheets gibt es leider nicht. Ich vermute, dass dir so ein Step aufgrund der lazy Verarbeitung im Mapper auch nicht helfen würde.

Als Workaround könntest du die SPREADSHEETLIST aus dem Splittter mit einen CSVWriter in (3) CSV-Dateien schreiben. Diese Dateien müsstest du dann aber irgendwo hochladen (z.B. FTPUpload), da die temporären Dateien auch nach 6 h Flow - Laufzeit entfernt werden. Danach kannst du pro Datei jeweils mit FTPSingleFileDownload, CSVReader und PlentyUpdateImages die Daten zu Plenty übertragen.

Der PlentyUpdateImages ist leider sehr langsam, weil ein API-Call / Bild (Image ID) notwendig ist. Ich habe nochmal in der Plenty-Doku nachgeschaut, aber leider keine Alternative gefunden.
Vielleicht ist über den Plenty-Import noch etwas möglich. Dazu kann ich aber leider nicht wirklich etwas sagen, da ich bisher immer nur bei kleinen Tests damit gearbeitet habe.

VG Torsten

1 „Gefällt mir“

Hi Torsten,

Ja, völlig verständlich. Noch höhere Timeouts würden dem Zweck eines Timeouts ja auch völlig zuwider laufen :see_no_evil_monkey:

Das klingt wenig elegant, aber funktional :smile:
Ja, dann probier ich es mal so, danke dir!

Ich weiß, da ist leider auch nix zu machen. Müsste Plenty wollen, wollen sie aber nicht.
Ich hab mich damit abgefunden :person_shrugging:

Danke & Gruß