Die Kommunikation des zentralen Dispatchers mit den einzelnen Slots erfolgt über die Tabelle QBMDBQueueSlot. Die Anzahl der maximal verfügbaren Slots wird während der Initialisierung des DBQueue Prozessor ermittelt. Pro Slot wird ein Eintrag in der Tabelle QBMDBQueueSlot erzeugt. Die Tabelle enthält Informationen über die einzelnen Slots und deren Status sowie die momentan laufenden Aufträge.
Tabelle 191: Bedeutung des Status in Tabelle QBMDBQueueSlot
0 |
Keine Aktivität vorhanden. Initialzustand (gesetzt durch Initialisierung) oder Endzustand (gesetzt durch Prozess). |
1 |
Der Prozess wird zur Arbeit aufgefordert, beispielsweise zur Vorbereitung zentraler temporärer Tabellen. |
2 |
Betriebsbereit. Der Prozess hat die Arbeit aufgenommen, aber es sind momentan keine Aufträge vorhanden. Das ist der Zustand in dem Aufträge eingestellt werden können. |
3 |
Übergabe an die Tabelle QBMDBQueueCurrent. Der Prozess hat die Aufträge zur Verarbeitung bekommen und soll tätig werden. |
4 |
Der Prozess hat die Aufträge erkannt und übernommen. |
5 |
Der Prozess verarbeitet die Aufträge. |
-1 |
Der Prozess wurde zur Beendigung aufgefordert, Stopp-Verhalten nach maximaler Laufzeit oder Abbruch bei Prozessfehlern. |
Stopp-Verhalten nach Ablauf der maximalen Laufzeit
Nach Ablauf der maximalen Laufzeit werden die Aufträge aktuell verwendeter Slots in der Tabelle QBMDBQueueCurrent noch abgearbeitet. Es werden keine neuen Aufträge aus der Tabelle DialogDBQueue übernommen. In der Tabelle QBMDBQueueSlot werden alle Slots mit einem Slotstatus 2 auf den Status -1 gesetzt. Die Prozesse werden damit zur Beendigung aufgefordert und beenden sich selbst. Der zentrale Dispatcher prüft, ob alle Prozesse beendet sind.
Verwandte Themen
Nachfolgendes Beispiel zeigt die Einträge in der Tabelle QBMDBQueueSlot während der Verarbeitung.
-
Initialisierung der Slots.
-
Start der Prozesse durch den zentralen Dispatcher.
-
Der Prozess ist betriebsbereit. Die Vorbereitungen, wie beispielsweise Vorbereitung temporärer Tabelle, sind abgeschlossen. Es erfolgt die regelmäßige Prüfung des Slotstatus.
-
Der zentrale Dispatcher verteilt die Aufträge. Der zentrale Dispatcher prüft die Betriebsbereitschaft der Slots und stellt die Aufträge der Tabelle DialogDBQueue in die Tabelle QBMDBQueueCurrent mit Slotnummer ein. Nach Übergabe an die Tabelle QBMDBQueueCurrent wird der Status der einzelnen Slots aktualisiert.
-
Der Prozess hat anhand des Status einen Auftrag erkannt, startet die Verarbeitung und aktualisiert den Status seines Slots.
-
Der Prozess hat die Verarbeitung abgeschlossen und setzt Slotnummer in der Tabelle DialogDBQueueCurrent auf 0. Der Prozess ändert den Status seines Slots auf Betriebsbereit.
Die Konfiguration des One Identity Manager Service erfolgt über eine Konfigurationsdatei. Die Konfigurationsdatei muss im gleichen Verzeichnis wie die viNetworkService.exe liegen. Es werden zwei Konfigurationsdateien unterstützt.
Detaillierte Informationen zum Thema
Die Datei Jobservice.cfg ist eine XML-Konfigurationsdatei im One Identity Manager eigenen einfacheren Format. Vorteil dieser Datei ist, dass ein Nachladen im laufenden Betrieb unterstützt wird. Für die verschiedenen Module innerhalb des One Identity Manager Service gibt es jeweils eine eigene Konfigurationssektion innerhalb der Datei.
HINWEIS: Beachten Sie die Groß- und Kleinschreibung. Sowohl die Sektionen als auch der Namen der Werte müssen in Kleinbuchstaben geschrieben werden.
Die Wurzel in der XML-Datei heißt immer configuration. In der Sektion category wird jeweils ein Modul der Konfigurationsdatei und seine Werte definiert werden. Derzeit unterstützt das Programm nur den Sektionentyp System.Configuration.NameValueSectionHandler.
<configuration>
<category name="serviceconfiguration">
<value name="jobprovider">VI.JobService.MSSqlJobProvider,jobservice</value>
<value name="HttpPort">1180</value>
<value name="logwriter">VI.JobService.FileLogWriter,jobservice</value>
</category>
</configuration>
Beispiel
Einfache Konfiguration mit:
<configuration>
<category name="serviceconfiguration">
<value name="jobprovider">VI.JobService.MSSqlJobProvider,jobservice</value>
<value name="logwriter">VI.JobService.FileLogWriter,jobservice</value>
</category>
<category name="sqlprovider">
<value name="connectstring">User ID=sa;initial Catalog=<Database>;Data Source=<SQL-Server>;Password=<Password></value>
</category>
<category name="filelogwriter">
<value name="loglifetime">0.01:00:00</value>
<value name="logseverity">Info</value>
</category>
<category name="dispatcher" />
<category name="jobdestinations">
<value name="queuex">VI.JobService.JobServiceDestination,jobservice</value>
</category>
<category name="queuex">
<value name="queue">\%COMPUTERNAME%</value>
</category>
</configuration>
Verwandte Themen