Benutzerhandbuch > Objekte > Alphabetische Auflistung > Verwendung von Sync-Objekten

Verwendung von Sync-Objekten

Um Ihnen die Nutzung eines Sync-Objektes näher zu bringen, werden wir ein typisches Anwendungsbeispiel Schritt für Schritt durchführen. Das folgende Sync-Objekt regelt den Zugriff auf eine Ressource z.B. eine Datenbank.

Dieses Beispiel basiert auf den folgenden Annahmen:

* Es dürfen maximal 3 Aufgaben auf die Datenbank gleichzeitig zugreifen.
* Zusätzlich soll es einer Aufgabe auch möglich sein, allein Zugriff auf die Datenbank zu nehmen.

Selbstverständlich bietet Ihnen das Sync-Objekt mit seiner Kombination von Zuständen, Werten und Aktionen alle erdenklichen Einsatzmöglichkeiten.

1. Anlegen eines Sync-Objektes

Als erstes ist zu überlegen, welche Zustände ein Sync-Objekt annehmen kann. In unserem Beispiel sind dies zwei:

Tragen Sie zunächst in der Registerkarte Sync die beiden Zustände mit einer passenden Erklärung ein. Die Namen können Sie selbst wählen. Zustände werden mit Werten assoziert. Für den ersten wählen wir den Wert "0" aus (eine einzelne Aufgabe verwendet exklusiv die Datenbank). Der zweite kann Werte zwischen "0" (keine Aufgabe nutzt die Datenbank) und "3" annehmen (maximal 3 Aufgaben sind gleichzeitig zugelassen). Die Zahlen, die Sie hier festlegen, sind nicht explizit im Sync-Objekt hinterlegt. Sie werden bei der Definition der Aktionen miteingebunden.

Doch bevor wir zu den Aktionen kommen, werfen wir zunächst einen Blick in eine Aufgabe, die synchronisiert werden soll. Alle ausführbaren Objekte besitzen eine eigene Registerkarte, in der Sie die Sync-Objekte eintragen können. Wie Sie sehen, werden hier auch die Aktionen ausgewählt, die den Zustand des Sync-Objektes verändern.

Kehren wir in das Sync-Objekt zurück, um die Aktionen zu definieren. Wir benötigen insgesamt vier:

  1. Normaler Zugriff auf die Datenbank
  2. Exklusiver Zugriff auf die Datenbank
  3. Freigabe nach einem normalen Zugriff
  4. Freigabe nach einem exklusiven Zugriff

Die Aktionen werden in der Tabelle im unteren Bereich der Registerkarte Sync eingetragen. Die Namen können Sie selbst wählen. Die Tabelle "Definierte Zustände" zeigt die bereits von Ihnen definierten Zustände an. Die unten angeführten Werte wurden bereits definiert, sie existieren jedoch noch nicht in schriftlicher Form:

Hier die erforderlichen Aktionen in der Tabelle Definierte Aktionen: im Detail:

USE
Die Aktion USE kann ausgelöst werden, wenn sich das Sync im Zustand SHARE befindet und sein Wert kleiner "3" ist. Sie belässt gleichzeitig den bestehenden Zustand, erhöht aber den Wert um eins. Diese Aktion ist damit für "normale" Aufgaben gedacht, welche die Datenbank nutzen. Sie schauen im Sync nach, ob die Datenbank mehrfach benutzbar ist. Außerdem prüfen sie, ob der Wert kleiner als drei ist, denn es dürfen laut Definition dieses Beispiels nur drei Aufgaben gleichzeitig die Datenbank nutzen. Der Wert wird um eins heraufgesetzt, weil eine weitere Aufgabe mit der Datenbank arbeitet.

USE_EXCLUSIVE
Die Aktion USE_EXCLUSIVE kann ausgelöst werden, wenn sich das Sync im Zustand SHARE befindet und der Wert "0" ist. Diese Aktion ist also nur möglich, wenn keine andere Aufgabe mit der Datenbank arbeitet. Sie setzt den Zustand "EXCLUSIVE", sodass nur sie allein Zugriff auf die Datenbank hat.

RELEASE
Die Aktion RELEASE gibt es in zwei Ausprägungen. In der ersten bezieht sich die Aktion auf den Zustand "SHARE" und der Wert muss größer Null sein. Eine "normale" Aufgabe hat mit der Datenbank gearbeitet und beendet sich nun. Dabei bleibt der bestehende Zustand erhalten, der Wert aber wird um eins gemindert. In der zweiten Ausprägung bezieht sich die Aktion auf den Zustand "EXCLUSIVE". Eine Aufgabe, welche die Datenbank exklusiv verwendete, beendet sich und macht diese wieder mehrfach benutzbar.

Übertragen Sie diese Aktionen in die untere Tabelle. Die folgende Abbildung zeigt Ihnen die fertig ausgefüllte Registerkarte:

Wechseln Sie zum Schluss noch auf die Registerkarte "Attribute". Hier sind der aktuelle Zustand und Wert ersichtlich. Bevor das Sync-Objekt eingesetzt wird, sollten Sie einen Zustand auswählen, mit dem es beginnt. In unserem Fall ist das "SHARE" mit dem Wert "0". Speichern und schließen Sie danach das Sync-Objekt.

2.

Einbinden des Sync-Objektes in Aufgaben

Nun wollen wir das Sync-Objekt in Aufgaben einbeziehen. Die untenstehende Abbildung zeigt einen Job, der das Sync-Objekt verwendet, um auf die Datenbank zuzugreifen. Beim Start führt er die Aktion "USE" aus. Der Job prüft, ob die Datenbank derzeit mehrfach benutzbar ist, und wie viele Aufgaben mit ihr arbeiten. Sind es weniger als drei, kann der Start erfolgen. Arbeiten bereits drei Aufgaben mit der Datenbank, wird die unter "Sonst" definierte Aktion ausgeführt. In diesem Fall wartet der Job, bis sich eine der Aufgaben beendet. Wenn der Job an der Reihe ist und sich nach dem Zugriff der Datenbank entweder erfolgreich beendet oder abbricht, wird die Aktion "RELEASE" ausgeführt.

Der folgende Job verwendet das Sync-Objekt, um exklusiv auf die Datenbank zuzugreifen. Beim Start wird der Zustand "EXCLUSIVE" gesetzt, sodass keine andere Aufgabe mehr Zugriff auf die Datenbank erhält. Diese Start-Aktion ist aber nur möglich, wenn keine andere Aufgabe mit der Datenbank arbeitet. Mit der Aktion "RELEASE" wird die Datenbank wieder für die Mehrfachnutzung freigegeben.

 

Siehe auch:

Sync-Objekte
SyncAufgaben in verschiedenen Workflows synchronisieren

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH