Neues Thema starten

Flow pro row durchlaufen?

Ich möchte einen Flow nicht listen weise durchlaufen, sondern pro row ist dieses möglich ? Wie eine art schleife.


Beispiel:


SearchDatastore

- row 1

- row 2

- usw.


step 1

- row 1

step 2

- row 1

step 3

- row 1


step 1

- row 2

step 2

- row 2

step 3

- row 2



Hallo,


eine Schleife steht leider nicht zur Verfügung.  Eine Möglichkeit wäre pro Flow-Run nur eine Zeile zu verarbeiten (SearchDatastore, limit = 1 und den processingStatus = UNPROCESSED). Am Ende des Flows können sie den  processingStatus der verarbeiteten Zeile dann mit dem DatastoreWriter Step auf z.B. PROCESSED_SUCCESS setzen.  So wir in jedem Flow-Run immer eine neue Zeile aus dem Datastore verarbeitet. 


Viele Grüße

Torsten Felsch


1 Person gefällt dies

Und wie kann ich den flow dann so lange wiederholen bis ich die liste durch hab ?

ich habe es mit 2 flows versucht die sich mit FlowExecutingStep gegenseitig aufrufen, habe aber dann aber leider einen error bekommen FlowExecutingStep (156) Illegal Cycle detected.

Mit dem FlowTrigger Step könnten sie die Flows gegenseitig starten. Das würde dann allerdings einen Flow - Run pro Datensatz im Datastore bedeuten. Zum Beenden des Flows könnten sie einen StopFlowIF Step verwenden, der bei einem leeren Ergebnis des SearchDatastore Steps den Run beendet.


was ist wen ich zwei flow+ habe kann ich die sich gegenseitig aufrufen lassen ohne das die runs hochgezählt werden ?

Ja, wenn bei als Flow + markiert werden die Runs nicht hochgezählt. 


Eventuell ist es "günstiger" nur einen Flow (Flow+) zu verwenden und das Intervall auf eine Minute zu stellen.  

Hallo,


wieso muss denn genau der Flow wie eine Schleife durchlaufen? 
Was ist denn der Anwendungsfall hier? 

Vielleicht kann man auch komplett ohne Flow+ und Schleife arbeiten, wenn man den Flow ein wenig umstrukturiert.

Viele Grüße

Stefan

Es geht darum Produkte zu übertragen in Shopware, dafür werden die Shopware Schnittellen benutzt.


ShopwareAddProducts

ShopwareAddVariants

ShopwareAddImages


Jetzt besteht aber das Problem wenn man listen weise den flow durchlaufen lässt das zuerst alle Produkte

dann alle Varianten und zuletzt die Bilder importiert werden.

Wen man nur wenige Produkte hat ist das kein Problem, aber wen es über 20000 werden sind die Produkte schon im System aber die Bilder erst 3 stunden später.

Wen also der flow pro Zeile durchlaufen würde, würde das Produkt mit Varianten und Bildern in einem rutsch durchlaufen.


Ich habe dies jetzt so gelöst das ich zwei flow+ sich gegenseitig aufrufen lasse bis die Liste abgearbeitet ist.


Hallo,


für den Fall wäre meine Empfehlung nur einen Flow (Flow+) zu verwenden und ein relativ kleines Limit im SearchDatastore (z.B. 50) einzustellen. Das Intervall des Flows kann dann entsprechend der Laufzeit des Flow (z.B.  15 Minuten) eingestellt werden. Die Werte (limit und Intervall) können natürlich auch niedriger gewählt und damit die Laufzeit des Flows verkleinert werden. So kann man sich aber den zweiten Flow+ sparen und der Import läuft in einer vertretbaren Zeit komplett durch. 


Viele Grüße

Torsten Felsch

Anmelden um einen Kommentar zu veröffentlichen