Prozessentwicklung
RGeschrieben vonRiku Virtanen Vor über einer Woche aktualisiertTable of contentsGemeinsam genutzte Statusaufgabe
Shared State Task ermöglicht den einfachen Datenaustausch zwischen Prozessausführungen in einem einzelnen Prozess oder zwischen allen Prozessen in einemAgentengruppemit einer gemeinsamen Datenbank.
Verschiedene Befehle für die Form sind:
AddOrUpdate - Wenn der Schlüssel vorhanden ist, wird der vorhandene Wert aktualisiert, andernfalls wird das Schlüssel/Wert-Paar dem Speicher hinzugefügt
GetOrAdd – Wenn der Schlüssel vorhanden ist, wird der Wert abgerufen, andernfalls wird das in den Parametern angegebene Schlüssel/Wert-Paar dem Speicher hinzugefügt.
TryAdd – Wenn der Schlüssel nicht existiert, wird das Schlüssel/Wert-Paar dem Speicher hinzugefügt.
TryGetValue – Wenn der Schlüssel vorhanden ist, wird der Wert abgerufen.
TryRemove – Wenn der Schlüssel vorhanden ist, wird das Schlüssel/Wert-Paar aus dem Speicher entfernt.
TryUpdate - Wenn der Schlüssel existiert, wird der Wert aktualisiert
GetTTL – Ruft die Lebensdauer für einen Schlüssel ab.
UpdateTTL – Aktualisieren Sie die Lebensdauer eines Schlüssels.
Parameter
Schlüssel- Alle Befehle haben einen „Schlüssel“-Parameter. Der Schlüsselparameter ist ein Ausdruck und wird verwendet, um zu entscheiden, welcher Wert abgerufen werden soll oder wo ein Wert aktualisiert/hinzugefügt werden soll.
Wert- Die Befehle „Hinzufügen“ und „Aktualisieren“ haben einen Parameter namens „Wert“. Dies ist der Wert, der für KJey entweder hinzugefügt oder aktualisiert wird. Dieser Wert muss JSON-serialisierbar sein.
Zeit zu leben -Der Parameter (TTL) kann konfiguriert werden, um festzulegen, wie lange ein Schlüssel im Speicher verbleiben soll, bevor das Schlüssel/Wert-Paar gelöscht wird. Die Befehle „Hinzufügen“ und „Aktualisieren“ aktualisieren diese TTL. Der Befehl „GetOrAdd“ aktualisiert die TTL nicht, wenn der Schlüssel bereits im Speicher vorhanden ist. Die maximale TTL beträgt 30 Tage und die minimale 1 Minute.
Bei einem Fehler eine Ausnahme auslösen- Wenn der Shared-State-Befehl aus irgendeinem Grund fehlschlägt, z. B. wenn TryAdd verwendet wird, der Schlüssel aber bereits vorhanden ist und dieser Parameter gesetzt ist, schlägt die Shared-State-Aufgabe in einer Ausnahme fehl, die auf der Prozessseite behandelt werden muss, andernfalls wird die Prozessausführung beendet. Wenn dies nicht gesetzt ist und der Befehl fehlschlägt, enthält das Shared-State-Ergebnis die Information, dass der Befehl fehlgeschlagen ist.
Verfügbar für alle Prozesse in einer Agentengruppe- Wenn dieser Parameter gesetzt ist, ist das Schlüssel/Wert-Paar für alle Prozesse innerhalb dieser Agentengruppe zugänglich. Wenn der Parameter nicht gesetzt ist, hat nur der einzelne Prozess Zugriff auf dieses Schlüssel/Wert-Paar.
Wenn ein Schlüssel mit diesem Parametersatz hinzugefügt wird, können Sie das Schlüssel/Wert-Paar nicht mit einem Shared-State-Befehl abrufen, bei dem der Parametersatz nicht vorhanden ist.
Ergebnis der Shared-State-Aufgabe
Das Ergebnis des Shared State Elements ist ein Objekt mit den folgenden Eigenschaften:
Erfolg – Boolescher Wert (true/false) gibt an, ob der Befehl erfolgreich war oder nicht.
Wert – Wenn der Befehl einen Wert zurückgibt, ist dieser vom Typ „dynamisch“.
Nachricht – Textinformationen zur Befehlsausführung, die bei der Entwicklung und beim Debuggen helfen.
Auf die Ergebniseigenschaften kann direkt im Prozess zugegriffen werden, beispielsweise mit den Referenzen #result.Value oder #result.Success
Verwendung von Shared State Tasks
Jetzt hätte der Ausdruck #result.Value.Amount im Prozess den Wert 108.
Notiz: Für die Agenten in der Agentengruppe muss eine gemeinsame Datenbank konfiguriert sein, damit die Agenten die zwischengespeicherten Werte gemeinsam nutzen können.
Der nächste Artikel istEinführung in Trigger bei Freunden
Verwandte ArtikelGemeinsame StatusaufgabeEinführung in AufgabenEinführung in den Call-SubprozessEinführung in den manuellen TriggerEinführung in API Trigger