Fehlgeschlagenen FTP-Download per StopFlowIf abfangen

Hallo Team, ich habe einen Flow, bei dem ich diverse Dateien per FTP abhole. Die werden dann jeweils separat verarbeitet und am Ende zusammengebracht. Es kommt immer mal wieder vor, daß sich eine davon aber nicht herunterladen läßt, weil offenbar der FTP-Zugriff zu diesem Zeitpunkt fehlschlägt. Im vorliegenden Fall ist das z.B. die Meldung:

(Root Causes: ConnectException: Connection timed out (Connection timed out))

Im Dashboard sehe ich noch


image

Das Problem ist, daß der Flow in einem solchen Fall komplett abbricht, obwohl er ja noch die anderen Teilflows noch korrekt ausführen könnte. Das möchte ich mit einem StopFlowIf-Step abfangen, indem ich den Flow dann mit einer Warnung fortsetzen lasse. Aber welche "condition" müßte ich denn da hinterlegen?


Gruß Micha

Hallo Micha,


das wird mit dem StopFlowIf-Step leider nicht so funktionieren wie du es dir vllt. denkst. Denn der Flow bricht bereits ab, bevor er zu dem StopFlowIf-Step kommt.


Ich denke aber eher dass man hier die Ursache finden und lösen sollte. Ein paar Fragen, die mir hier in den Sinn kommen, wären eventuell:

Kommt es öfters vor, dass der FTP nicht erreichbar ist?

Hat die Datei die nötigen Zugriffsrechte?

Ist die Datei vllt. zu groß? Wie groß ist die Datei in der Regel?

Der wie vielte FTP-Download ist das? Kommen noch welche danach oder ist das der letzte Step?


Was du eventuell versuchen könntest. Du kannst in den erweiterten Optionen des FTPDownload Steps das 'fileNotFoundBehavior' auf ERFOLG stellen. Auch wenn hier in der Beschreibung steht, dass dies nur bei nicht Vorhandensein der Datei zutrifft, aber ein Versuch ist es Wert.


Viele Grüße,

Lukas

Hallo Lukas,


danke für die schnelle Antwort. Mit den Zugriffsrechten usw. stimmt alles, es war nur so, daß (ohne mein Wissen) der Server zwei Tage in Maintenance und also unerreichbar war. Es ist aus meiner Sicht natürlich nicht optimal, daß der Flow in diesem Fall auf jeden Fall abbricht, weil sich ja unabhängig von der herunterzuladenden Datei noch allerlei Steps anschließen, die Daten aus anderen Quellen verarbeiten usw., und diese kommen dann ja nicht zur Ausführung. Ich werde das mal mit Deiner Idee ausprobieren, aber wenn das nicht klappen sollte: Seht ihr denn gar keine Chance, das irgendwie abzufangen? Genial wäre es, wenn man einen Sprung im Flow einbauen könnte, der beim Fehlschlag eines Steps dann einfach z.B. fünf Steps weiter springt, wo dann der zweite "Cluster" beginnt.


Euch fällt doch sonst immer was ein! :-)


Gruß Micha

Hallo Micha,


die Idee mit den 'Sprüngen' wird es so von unserer Seite leider nicht geben.

Alternativ kannst du den Flow in mehrere kleine Flows aufteilen. Wo es dann nicht so kritisch ist, wenn ein Flow fehlschlägt. Sollten es zu viele Flows werden, kannst du auch nur den FTPDownloadStep auslagern, bei dem der FTP öfters nicht zu erreichen ist. Als Workaround kannst du den FTP-Download auch am Ende des Flows stellen und anschließend nochmal den Update-Step o.ä. der danach kommt hinzufügen.


Viele Grüße,

Lukas