Hallo zusammen,
ergänzend zu meinem anderen Thema zu den Laufzeiten bin ich auch über eure Variable prop_lastruntime_postrun gestolpert.
Der Erklärtext dazu liest sich so, als könnte ich damit ein eigenen Zeitstempel setzen, der dann in den nächsten Flowruns als Zeitstempel genutzt wird. Wenn das tatsächlich so ist, wäre das perfekt. Das wäre nämlich genau das, was ich suche.
Jedoch gibt es keinerlei Erklärung, wie das Feld benutzt wird. Weder im Forum, im Handbuch oder bei Google in Kombinatio mit Synesty findet das Feld irgendeine Erwähnung.
Daher die Frage, was ist das Feld und wie benutzt ich das?
Gruß
Gustav
Hallo Gustav,
den Wert kannst du bei der manuellen Ausführung setzen („Überschreibe Wert 'letzte Ausführung …“). Die Beschreibung ist an der Stelle zugegebenermaßen nicht wirklich gut.
Wenn du da ein Datum/Zeit auswählst, wird die Laufzeitvariable prop_lastruntime_postrun bei der Ausführung gesetzt:
Nach der Ausführung wird dieser Wert dann als Letzte Ausführung (last_runtime) gesetzt:
VG Torsten
Hallo Torsten,
das ist schon das, was ich suche. Ich müsste das aber programmatisch aus dem Flow heraus setzen. Vielleicht mal kurz zum Hintergrund.
Ich habe einen Flow, der alle neu erstellten Daten seit dem letzten Abruf abholen und verarbeiten soll. Dafür benutze ich im Moment einfach die prop_lastruntime. Problem ist, dass der Zeitpunkt des Datenabrufs nicht exakt dieser prop_lastruntime entspricht.
Ein Beispiel: Mein Flow läuft zur vollen Stunde und soll alle Daten ab dem letzten Flowrun abholen. Der letzte Flowrun um 11 Uhr hat aber die Daten nicht genau um 11 Uhr abgerufen, sondern z.B. um 11:00:23. Der Zeitraum von 11:00:00 bis 11:00:23 wird also von dem Run um 11 Uhr abgerufen und dann nochmal von dem nächsten Run um 12 Uhr. Wenn in den 23 Sekunden dann zufällig ein neuer Datensatz erstellt wurde, wird dieser doppelt verarbeitet.
Wenn man jetzt die Möglichkeit hätte, aus dem Flow heraus den Zeitpunkt der Ausführung auf 11:00:24 zu setzen, wäre alles super.
Bei solchen Timing-basierten Abrufen interessiert einen ja eigentlich nie, für welchen Zeitpunkt der Flow geplant war oder zu welcher Zeit der Flowrun tatsächlich gestartet oder geendet ist, sondern zu welchem Zeitpunkt die Daten von meinem System abgerufen wurden bzw. welchen Zeitpunkt der letzte verarbeitete Datensatz hatte.
Der Startzeitpunkt ist dafür momentan die beste Approximation, aber auch nicht mehr als eine Approximation.
Siehst du eine Chance, dass ihr sowas umsetzt? Oder muss ich da mit einem Datastore arbeiten und mir auf diesem Wege den korrekten Wert merken?
EDIT: Man kann das auch umsetzen, indem man auch ein oberes Limit (der Zeitpunkt der geplanten Flowrun) für einen Von-Bis-Filterung verwendt. Also der für 11 Uhr geplante Flowrun ruft auch nur die Daten bis genau 11 Uhr ab. Das finde ich aber deutlich unschöner. Statt den Flow zu verbessern und dynamischer auf den Ist-Zustand zu reagieren, schränkt man den Ist-Zustand so weiter ein, dass keinerlei Dynamik mehr existiert.
Außerdem ermöglicht mein Vorschalg auch eine funktionierende Zeitsteuerung für FlowExecutes/-Triggers (Prop_lastruntime in Kombination mit FlowExecutingStep).
Gruß
Gustav