Zeitstempel lastRuntime wird bei fehlgeschlagenen Flows nicht gespeichert

Hallo,

mir ist auf gefallen, dass die Variable lastRuntime nicht gespeichert wird, wenn ein Flow fehlgeschlagen ist.
Falls dies kein Bug, sondern Feature sein soll, dann wäre es hilfreich auf 2 Variablen umzustellen:

  • lastRuntime
  • lastSuccessfulRuntime

Gerade bei verketteten Flows muss aus meiner Sicht jeder Lauf registriert werden und nicht nur die erfolgreichen.

Viele Grüße
Thorsten

Hallo Thorsten,

du liegst richtig. Die lastRuntime Laufzeit Eigenschaft, wird bei einer fehlerhaften Ausführung (Flowrun
mit ERROR beendet) nicht überschrieben. Nur bei einer erfolgreichen bzw. vollständigen Ausführung (SUCCESS oder auch WARNING) wird die Eigenschaft überschrieben.
Der Name der Laufzeit Eigenschaft ist zugegebenermaßen nicht ganz passend. Die Idee zum Zeitpunkt der Einführung von lastRuntime war, dass Zeitscheiben bei aufgetretenen Fehlern nicht „übersprungen“ werden (z.B. Filter bei der letzten vollständigen Ausführung Flows beginnen). Damals gab es auch noch keine verketten Flows :smiley:
Wir können den Namen leider auch nicht einfach ändern, da lastRuntime schon in einigen Flows verwendet wird und das aktuelle Verhalten erwartet wird.
Vielleicht kannst du uns deinen Anwendungsfall etwas detaillierter erläutern. Vielleicht finden wir noch eine andere Lösung dafür oder einen guten Namen für eine neue, zusätzliche Variable .

Viele Grüße
Torsten

Guten Morgen Torsten,

es geht in unserem konkreten Flow darum, dass wir Lagerbestände an verschiedene Ziele auf unterschiedlichen Wegen (E-Mail, API-Call, etc.) übermitteln.
Dabei senden wir neue Lagerbestände allerdings nur für Artikel, die seit der letzten Übertragung eine Änderung erhalten haben.
Im letzten Schritt steht ein API-Call der regelmäßig auf einen Timeout läuft, weil der Server nicht schnell genug antwortet. Den Timeout habe ich schon auf eine Stunde gestellt, das hilft jedoch nichts.
Im Ziel kommen die Bestände sauber an, daher ist das kein Problem.
Und jetzt kommt das zuvor beschriebene Problem mit der Variablen lastRuntime ins Spiel.
Diese muss hier bei jedem Lauf neu gesetzt werden, damit die anderen Steps im Flow nicht zu viele Daten geliefert bekommen.
Wir wollen nicht jeden Step in einen eigenen Flow schieben, das kostet zu viele Flows und ist auch meiner Meinung nach nicht notwendig.

Eine Variable lastOverallRuntime oder so würde uns da schon helfen :wink:

Viele Grüße
Thorsten

Hallo Thorsten,

vielen Dank für deine ausführliche Erläuterung. Wenn ich es richtig verstehe liegt das Problem eher bei dem Server der nicht antwortet und in ein Timeout läuft (obwohl die Bestände korrekt ankommen).
Unsere Intention bei der Einführung lastRuntime Variable war, ein Datum für die Filterung zur Verfügung zu stellen, an dem der Flow vollständig durchgelaufen ist. Und falls ein Fehler aufgetreten ist, das Datum nicht neu zu setzen. Damit wird im Zweifel beim nächsten Run zu viel übermittelt. Das ist unserer Ansicht nach besser als keine Übertragung (z.B. bei Bestellungen).

Wir haben deinen Wunsch mit aufgenommen und schauen ob wir eine weitere Variable „lastOverallRuntime“ bereitstellen können.

Viele Grüße
Torsten