CX_WEB_SERVICE_MANAGER::LaunchDedicatedClassiX
4.1.0
204939
Beschreibung:
Diese Methode weist den verbunden MorphIT-Server an, auf der vorgegebenen Launcher-Instanz einen neuen ClassiX-Prozess mit den angegebenen Parmetern zu starten. Damit das klappt, müssen folgende Bedingungen erfüllt sein:
- Das ClassiX ist mit dem Server verbunden (HasMorphITConnection = TRUE)
- Unter der angegebenen IP/Hostnamen läuft ein MorphIT-Launcher, der mit diesem MorphIT-Server verbunden ist
- Der MorphIT-Launcher hat noch genug freie Kapazitäten, um eine Instanz zu starten
- Es wird ein gültiger Start-Nonce übergeben, der über RequestMorphITBinding vom Server geliefert wurde.
Sollte der Start fehlschlagen, schlägt dieser Aufruf mit einer entsprechenden Fehlermeldung fehl. Ansonsten wird die Prozess-ID des gestarteten Prozesses zurückgegeben. Da der Prozess über CMD /C gestartet wird, entspricht die Prozess-ID der Prozess-ID des cmd-Prozesses und nicht der eigentlichen ClassiX-Instanz. Der Wert dient also lediglich als Bestätigung, dass ein Prozess auf dem Launcher gestartet wurde.
Die Startkonfiguration ist ein optionales CX_JSON_OBJECT mit zwei Feldern:
- env - Ein Objekt, welches die zusätzlich zu setzenden Umgebungsvariablen definiert. {name:wert, name2:wert2, ...}
- cwd - Ein String, der das Arbeitsverzeichnis festlegt mit welchem der Befehl gestartet werden soll. (Default: ws.launcher.launch.cwd - aus der config.js)
Der Startbefehl ist ein String, der an CMD /C "..." durchgereicht wird.
Code-Beispiel:
Als Webservice-Instanz ein dediziertes ClassiX über den Launcher starten.
LAUNCH_INSTANCE_POST: { LocalVar(endpoint, response) GetManager(WEB_SERVICE) CallWeak(RequestMorphITBinding) -> endpoint endpoint ifnot { //TODO pass error back to the user } launcherHostName "CX_MORPHIT_NONCE" SystemObject Call(GetEnvironment) startCommand NULL GetManager(WEB_SERVICE) CallWeak(LaunchDedicatedClassiX) ifnot { //TODO pass error message back to the user } CreateTansObject(CX_JSON_OBJECT) -> response "dynamic" response Put(type) endpoint response Put(endpoint) response ReturnStack }
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_WEB_SERIVCE_MANAGER | Der Webservice-Manager |
Top-1 | CX_JSON_OBJECT | NULL | Startkonfiguration | |
Top-2 | STRING | Startbefehl | |
Top-3 | STRING | Start-Nonce-Wert | |
Top-4 | STRING | Hostname/IP des Launchers | |
Stack(Out) | Top | INTEGER | Prozess-ID des gestarteten Prozesses |