Flow per URL Trigger queuen

Hi zusammen,

gibt es eine Möglichkeit, Flow-Aufrufe per URL-Trigger zu queuen?
Ich habe den Use-Case, dass ich ein Json Object via Post Request aus einer HTML Form bekomme und diese Daten dann an ein drittes System weiterleiten möchte. Jetzt kann allerdings der Use Case auftreten, dass 2 Kunden gleichzeitig/zeitnah die Form submitten und somit der Flow dann nur beim ersten Trigger läuft und die 2. Daten nicht ankommen - gibt es hier einen Workaround / Mechanismus, um diesen Fall abzufangen / zu verhindern?

Habe in den älteren Forumsbeiträgen leider keine wirkliche Lösung für mich gefunden bzw. nur gelesen, dass Queueing nicht möglich ist?/war.

Schon einmal vielen Dank und einen schönen Wochenstart

Liebe Grüße
Tim

Hallo @EG-Interfaces,

um kurz sicher zu gehen, dass ich dich richtig verstanden habe.
Du hast einen Flow, den Kunden über einen bestimmten Prozess extern per URL-Trigger antriggern, richtig?
Diese zu queuen ist aktuell nicht möglich. Wir werden aber einmal intern über eine Möglichkeit sprechen.

Viele Grüße
Lukas

1 Like

Hi Lukas,

exakt, genau so sieht’s aus!

Danke dir und liebe Grüße
Tim

Wenn du es auf zwei Flows aufteilst? Ein Aufrufer, der die Parameter aus dem URL-Trigger annimmt, und dann per FlowExecutingStep den zweiten Flow mit der Logik antriggert?

Könnte klappen, bin mir grade nicht 100% sicher.

1 Like

Hallo ans Samenhaus,

vielen Dank für den Vorschlag! Ich glaube jedoch, dass ich damit leider nicht weiter komme, da trotzdem der Flow, der die Parameter entgegen nimmt, von 2 Kunden gleichzeitig getriggert werden kann und dann trotzdem nur eine Flowinstanz laufen kann. Durch den FlowExecutingStep wartet der Flow dann ja auch, bis der 2. Flow durchgelaufen ist afaik. Wenn ich diesen durch einen FlowTrigger ersetze, könnte es zum selbigen Problem kommen, da der 2. Flow dann auch nicht parallel laufen kann und nicht gequeued wird :thinking: Korrigiert mich gern, wenn ich das das falsch sehe.

Liebe Grüße
Tim

Stimmt, du hast Recht :man_facepalming:

1 Like

Hallo zusammen,

die Problematik ist mir auch schonmal begegnet.

Damals war der Lösungsvorschlag seitens Synesty, dass sie Webhooks implementieren, die ihre Daten direkt in einen Datastore schreiben. So soll eine Queue für die eingegangen Nachrichten abgebildet werden. Für die Verarbeitung der Daten schreibt man dann eben eine regelmäßig laufenden Flow, der sich die Datensätze aus dem Datastore nimmt und die wie gehabt verarbeitet. Dazu habe ich aber schon länger nix mehr gehört, warten wir mal ab was @synesty-Lukas dazu sagt.

Vielleicht ist das aber auch schon eine Option, wie du selbst die Laufzeit des Flows reduzieren kannst. Statt in dem URL-getriggerten Flow die Daten zu verarbeiten, lässt du dort nur die Daten in einen Datastore schreiben und verarbeitest die zu einem späteren Zeitpunkt über einen anderen Flow. Das würde zumindest die Laufzeit des Flows mit URL-Trigger auf ein Minimum reduzieren.

Ganz vermeiden lässt sich diese Problematik aber im Moment nur, wenn du auf der versendenden Seite einen Queuing-Mechanismus implementiert, der die Daten später erneut überträgt, wenn der Synesty-Urltrigger mit „Flow läuft bereits“ antwortet.

Gruß
Gustav

1 Like

Hi Gustav,

danke für deine Antwort - genau das ist Stand jetzt auch meine Lösung. Dadurch läuft der „Entgegennehm“ Flow 0.2 anstatt 1.2 Sekunden.

Allerdings bin ich beim Versuch, den gesamten Prozess live zu schalten, auf folgende Fehlermeldung gestoßen:
Access to fetch at ‘Flow Trigger URL’ from origin ‘Shopify Seite’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.

Kann ich irgendwelche Einstellungen vornehmen, dass die Daten durchkommen @synesty-Lukas ?

Vielen Dank und ein schönes Wochenende euch!

Hallo Tim,

ich habe dir per Ticket geantwortet. Hier nochmal kurz die Kursfassung, da es eventuell auch für andere interessant ist:

Die Trigger URL direkt (clientseitig) per Javascript, jquery oder ähnliches von einer externen Seite aufzurufen ist leider nicht möglich (Same-Origin-Policy – Wikipedia & Cross-Origin Resource Sharing – Wikipedia).

(siehe auch: URL-Trigger und JSON-Response (per JS) --> same-origin)

Viele Grüße
Torsten

1 Like