Diese Funktionalität ist ab Version 4.2 verfügbar.Definition
Zweck des Wartungsmodus ist es, das System in einen Zustand zu versetzen, in dem keine störenden Transaktionen von Benutzern oder der Jobsteuerung durchgeführt werden können, welche z.B. den Nuclet-Import / -Export negativ beeinflussen könnten.
Der Wartungsmodus kann über den Nuclos-Client oder alternativ über die REST-Schnittstelle aktiviert / deaktiviert werden.
Sobald das System in den Wartungsmodus versetzt wird, werden alle Benutzer, außer dem Super-User der den Wartungsmodus startet, gezwungen sich auszuloggen. Außerdem wird die Jobsteuerung pausiert. Es ist des Weiteren nicht möglich Dateiimporte auszuführen.
Während der Wartungsmodus aktiv ist kann sich nur der eine Super-User anmelden, der den Wartungsmodus gestartet hat.
Nach Beenden des Wartungsmodus wird die Jobsteuerung fortgesetzt, Dateiimporte sind wieder möglich und Benutzer können sich wieder anmelden.
Verwendung des Wartungsmodus über den Nuclos Web Client
Der Wartungsmodus kann durch Auswahl der Wartungsmodus-Arbeitsumgebung von einem Super-User gestartet werden.
Bis alle User außer dem Initiator des Wartungsmodus ausgeloggt sind und keine Jobs mehr laufen wird folgende Maske angezeigt:
Solange der Wartungsmodus aktiv ist, ist nur diese eingeschränkte Arbeitsumgebung zugänglich.
Durch Auswahl einer anderen Arbeitsumgebung wird der Wartungsmodus wieder beendet.
Verwendung des Wartungsmodus über die REST-Schnittstelle
Die meisten Schnittstellenaufrufe können nur von einem Super-User durchgeführt werden, weshalb zuvor ein Login mit einem Super-User Account durchgeführt werden muss.
In den folgenden Schnittstellenaufrufen wird beispielhaft das Shell-Kommando curl verwendet.
Login
Codeblock |
---|
|
sessionId=`curl http://localhost:8080/nuclos-war/rest/login -X POST -H "Content-Type: application/json" -d '{"username":"nuclos", "password":"", "locale":"en-EN"}'`
# Nuclos 4.3 - 4.5:
sessionId=`curl http://localhost:8080/nuclos-war/rest -X POST -H "Accept:application/json" -H "Content-Type: application/json" -d '{"username":"nuclos", "password":""}' | awk -v FS="\"" '{ print $4 }'`
# Für alle folgenden Aufrufe muss die "sessionId" als Request-Parameter übergeben werden.
# ab Nuclos 4.6:
curl --cookie-jar cookies.txt http://localhost:8080/nuclos-war/rest -X POST -H "Content-Type: application/json" -d '{"username":"'nuclos'", "password":"''"}';
# Anstatt des "sessionId"-Request-Parameters wird das JSESSIONID Cookie über den Cookiestore verwendet.
|
Logout
Codeblock |
---|
|
curl http://localhost:8080/nuclos-war/rest/logout?sessionid=$sessionId
# Nuclos 4.3 - 4.5:
curl http://localhost:8080/nuclos-war/rest?sessionId=$sessionid -X DELETE
# ab Nuclos 4.6:
curl --cookie-jar cookies.txt http://localhost:8080/nuclos-war/rest -X DELETE |
Wartungsmodus initiieren
Codeblock |
---|
|
# bis 4.28
curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/start
# ab 4.29
curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode" -d on
curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode?force=true" -d on # es wird nicht darauf gewartet, bis alle Clients abgemeldet sind |
Wartungsmodus beenden
Codeblock |
---|
|
# bis 4.28
curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/end
# ab 4.29
curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode" -d off |
Status abfragen
Codeblock |
---|
|
curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/mode |
Mögliche Rückgabewerte sind:
off | Der Wartungsmodus ist nicht aktiv. |
initialized | Der Wartungsmodus wird gerade startet. |
on | Der Wartungsmodus ist aktiv. |
Nuclet-Export
Der Local Identifier des Nuclets ist Teil der URL.
Codeblock |
---|
|
curl --cookie -X POST http://localhost:8080/nuclos-war/rest/maintenance/nucletexport/PE4A > ~/temp/nucletexport.nuclet |
Nuclet-Import
Codeblock |
---|
|
curl --cookie -F "file=@~/temp/nucletimport.nuclet" "http://localhost:8080/nuclos-war/rest/maintenance/nucletimport" |