Applikations-Pool

Applikationspool starten

Das Starten des Applikations-Pools erfolgt mit OOAPPOOL.BAT
Dieser Batch befindet sich direkt im Verzeichnis \insyde

Login

Für das Starten des Applikations-Pools ist eine Anmeldung in OpaccERP notwendig.
Beim Ausführen von OOAPPOOL muss die Mandanten-Nummer, die Mitarbeiter-Nummer und das verschlüsselte Passwort mitgegeben werden. Falls der Applikationspool via Konsole (cmd) gestartet wird, (z.B. um etwas zu testen) kann das Passwort auch unverschlüsselt als Parameter mitgegeben werden. (siehe auch Startparameter OOAPPOOL)
Achtung
Achtung
Damit der Applikations-Pool verarbeitet werden kann, muss der Benutzer (resp. die Benutzergruppe) unter dessen Account die Verarbeitung läuft, über Vollzugriff auf den Service AppPool_Process verfügen.
tech_notes_98210.jpg
Hinweis
Hinweis
Bei ungenügenden Zugriffsrechten wird der Applikations-Pool nicht gestartet. Der entsprechende Eintrag ist dann im BC 99019, Register "Nicht gestartet", zu sehen.

Mehrere Mandanten/Installationen

Auf demselben Client können mehrere Mandanten, aber auch mehrere Installationen bedient werden.

Automatisch beenden

Wird der Applikation-Pool automatisch beendet, werden auch alle Instanzen geschlossen. Dies jedoch nur, wenn der Applikations-Pool im Workstation-Mode betrieben wird.

Manuell beenden

Der Applikations-Pool bzw. der aktuelle Job/Schritt kann über den AppPool-Controller manuell beendet werden. Im AppPool-Controller stehen dafür die Buttons Verarbeitung abbrechen und Job abbrechen zur Verfügung. Voraussetzung für diese Funktionalität ist jedoch, dass die laufende Verarbeitung einen Abbruch zulässt.
Auch beim manuellen Beenden werden alle Instanzen geschlossen. Dies jedoch nur, wenn der Applikations-Pool im Workstation-Mode betrieben wird.

OOAPPOOL [Argumente]

Beispiel
ooappool -AppPoolNo:"-100,-200" -Client:99 -User:1000 -Password:"Verschlüsseltes Passwort"
Verarbeitung
   
-ShowGui:on | off
OPTIONAL
Default: off
Anzeige (UI) zur Visualisierung des AppPool-Controller.
-WaitUntilCompletion:on | off
OPTIONAL
Default: on
WaitUntilCompletion:on (Default) - Die Verarbeitung wird gestartet und der AppPool-Controller wird erst beendet, wenn die Verarbeitung beendet ist. Diese Einstellung wird benötigt, wenn ohne UI (-ShowGui:off) gearbeitet wird, Applikationspool-Aufrufe via Batch aber sequentiell abgearbeitet werden sollen.
WaitUntilCompletion:off - Die Verarbeitung wird gestartet und der AppPool-Controller wird sofort wieder beendet.
-AppPoolNo:"[Pool Nr.]"
REQUIRED
Zu verarbeitende Applikationspools. Sollen mehrere Pools verarbeitet werden, muss zwischen den Pool Nr. ein Komma stehen. Ein vorangestelltes "Minus" stellt den Pool vor der Verarbeitung von Status "F" auf "V".
100 = Startet den Applikations-Pool 100 mit allen Einträgen
100.1 = Startet im Applikations-Pool 100 den Eintrag mit der Laufnummer 1
- (Minus) = Setzt den zu startenden Applikations-Pool zuerst auf Status "V". Jedoch nur wenn kein Job dieses Pools auf Status "I" (In Verarbeitung) oder "F err" (Fertig mit Fehler) steht.
Achtung
Achtung
Beachten sie, dass beim Starten eines einzelnen Applikationspool-Eintrages kein - (Minus) vorangestellt werden darf.
Wird ein einzelner Applikations-Pool-Eintrag gestartet (z.B. mit 100.1) dann wird dieser Eintrag in jedem Fall gestartet. Unabhängig davon ob der Status des Eintrages "V", "I", "F err", "F" oder "P" ist. Ausserdem wird eine mitgegebene End-Time nicht berücksichtigt!
Das Starten von einzelnen Applikations-Pool-Einträgen sollte nur zu Testzwecken erfolgen!
-EndTime:"[hh.mm]"
OPTIONAL
Default: ""
Uhrzeit bis wann der Applikations-Pool laufen soll. Beispiel: -EndTime:"22.30"
Hinweis
Hinweis
Das Zeit-Argument im OpaccOXAS Studio BC 98260 wird durch diesen Parameter übersteuert.
Zu beachten ist auch, dass Folgeschritte in einem Applikationspool nicht abgearbeitet werden wenn beim Aufruf (ooappool.bat) eine Zeit mitgegeben wird. Bei erreichen dieser Zeit wird die gesamte Verarbeitung beendet.
Beispiel
"Verarbeiten bis" im OpaccOXAS Studio BC 98260: 21.30
"Verarbeiten bis" beim Aufruf von ooappool.bat: 22.00
Der Abbruch der Verarbeitung erfolgt um 22.00
-ParallelProcessing:on | off
OPTIONAL
Default: off
on - Paralleles Verarbeiten wenn mehrere Applikationspools miteinander gestartet werden.
off - Serielles Verarbeiten wenn mehrere Applikationspools miteinander gestartet werden.
Beispiel
Applikationspool 100 enthält Eintrag 1 und 2. Applikationspool 200 enthält Eintrag 1 und 2.
Nun werden die beiden Applikationspools mit "ParallelProcessing:on" gestartet.
ooappool ... "-100,-200".... -ParallelProcessing:on....
Die Verarbeitung läuft nun so:
Pool 100 Eintrag 1
Pool 200 Eintrag 1
Pool 100 Eintrag 2
Pool 200 Eintrag 2
-ProcessingName:"Name"
OPTIONAL
Default:aut.
Name welcher dem zu verarbeitenden Monitor-Objekt zugeordnet wird. Ohne die Angabe eines Namens, wird ein automatisch ermittelter Name verwendet der von "AppPoolNo" abgeleitet ist.
-CloseAfterCompletion:on | off
OPTIONAL
Default: on
on - Der AppPool-Controller wird nach Abschluss der Verarbeitung geschlossen.
off - Der AppPool-Controller wird nach Abschluss der Verarbeitung nicht geschlossen. Damit kann z.B. der Status (Fehler, Normal) kontrolliert werden.
-AsyncProcessing:on | off
OPTIONAL
Default: off
Möglichkeit Applikationspools via Kommandozeile asynchron zu starten. Wenn asynchron gestartet wird, kommt automatisch (u.a.) Logik zum Adressieren des richtigen Clusters gemäss konfigurierter CohortId zum Zug.
Zugriff ServiceBus / Login OpaccERP
   
-ServiceBus:"[IP-Addr.]:[Port]"
-ServiceBus:"[Host]:[Port]"
OPTIONAL
Hier kann ein ServiceBus spezifiziert werden mit welchem sich der Applikationspool verbindet.
Wird kein ServiceBus spezifiziert, wird eine Instanz gemäss Konfiguration (OpaccOneInstallation.xml) gesucht oder allenfalls auch neu gestartet.
Die Angabe einer Port-Nummer ist nicht notwendig. Dies ist eine interne Funktionalität welche beim Starten eines Applikationspools im BC 98260 verwendet wird.
Beispiel
-ServiceBus:"192.168.168.100" -ServiceBus:"Opacc_DB_Server"
-Client:[Mandant Nr.]
REQUIRED
OpaccERP Mandanten Nr.
Beispiel
-Client:99
-User:[Mitarbeiter Nr.]
REQUIRED
OpaccERP Mitarbeiter Nr. Unter dieser Anmeldung läuft die Applikationspool Verarbeitung.
Beispiel
-User:1000
-Password:"Passwort-String"
REQUIRED
Verschlüsseltes Passwort des obigen Benutzers.
Die Verschlüsselung erfolgt für das Assembly: Opacc.Management.AppPoolController.exe
Beispiel
-Password:"02495/Atr5Lo.....F0a41w=="
Hinweis
Hinweis
Wird der Applikationspool (z.B. für Tests) in der Konsole gestartet, so kann das Passwort auch im Klartext mitgegeben werden. -Password:"Mein_Klartextpasswort"
Konsole und Log
   
-ShowConsole:on | off
OPTIONAL
Default: off
Anzeige der Konsole.
-InheritConsole:on | off
OPTIONAL
Default: on
on - Die Konsole wird nach Möglichkeit vom "Parent" geerbt.
off - Eigene Konsole.
-LogChannelPort:[Port]
OPTIONAL
Default: -1
-1 - Keine Ausgabe.
TCP-Port Nr. - Ausgabe von Log-Meldungen in einen TCP-Kanal.
Beispiel
-LogChannelPort:60060
Monitoring (Verfügbar ab v14.10.00)
   
-ProgressRetainTimeInHours:[h]
OPTIONAL
Default: 72
Zeitspanne in Stunden während der ein Monitor-Objekt vor dem Start bzw. nach dem Beenden "aufbewahrt" und dadurch im BC 99019 angezeigt wird.
-ProgressNotRespondingTimeoutInMinutes:[m]
OPTIONAL
Default: 5
Zeitspanne in Minuten nach deren Ablauf ein Monitor-Objekt in den Status "Not-Responding" gesetzt wird.
Soll dies nie passieren, muss 0 als Wert angegeben werden.

Passwort verschlüsseln

Die Verschlüsselung des OpaccERP Passwortes erfolgt mit dem Tool Opacc.Commons.Encryption.exe aus dem Verzeichnis \insyde\ServiceBus\
Setzen sie den Radio-Button auf "For Application/Assembly".
Wählen sie das Assembly Opacc.Management.AppPoolController.exe aus dem Verzeichnis \insyde\Management\
Geben sie ihr Passwort im Klartext ein.
OpaccOne_Encryption_1.jpg
Mit Klick auf den Button "Encrypt" wird ihre Eingabe verschlüsselt.
OpaccOne_Encryption_2.jpg
Diesen verschlüsselten Passwort-String können sie nun in die Zwischenablage kopieren und für den Aufruf von ooappool.bat verwenden.

Meldung wenn auf Status "I"

Wird ein Applikationspool gestartet, welcher auf Status "I" (In Verarbeitung) steht, wird die folgende Meldung ausgegeben: " Bitte kontrollieren Sie den Applikations-Pool nn".
Diese Meldung sehen sie auch im BC 99019 (Register "Abgeschlossen") beim entsprechenden Applikationspool-Eintrag.

Verwendung von ooappool in eigenen Batch-Programmen

Wenn sie den Aufruf ooappool in eigenen Batch-Programmen verwenden, ist folgendes zu beachten:
Setzen sie vor jeden Aufruf den Befehl "Call".
Beispiel
Sie möchten via Batch-Programm die Applikationspools 501, 502 und 503 nacheinander verarbeiten.
In der Batch-Datei (sofern sie sich im Verzeichnis \Insyde\Ip\ befindet) werden die Applikationspools dann folgendermassen aufgerufen:
@echo off

Call %~dp0\..\ooappool.bat -ShowGui:off -WaitUntilCompletion:on -ShowConsole:off -CloseAfterCompletion:on -AppPoolNo:"-501" -Client:99 -User:123456 -Password:"02495/Atr5Lo.....F0a41w=="
Call %~dp0\..\ooappool.bat -ShowGui:off -WaitUntilCompletion:on -ShowConsole:off -CloseAfterCompletion:on -AppPoolNo:"-502" -Client:99 -User:123456 -Password:"02495/Atr5Lo.....F0a41w=="
Call %~dp0\..\ooappool.bat -ShowGui:off -WaitUntilCompletion:on -ShowConsole:off -CloseAfterCompletion:on -AppPoolNo:"-503" -Client:99 -User:123456 -Password:"02495/Atr5Lo.....F0a41w=="