Neue Befehle zur Serververwaltung

Automatisch übersetzt von Deepl

4D bietet weiterhin Funktionen, mit denen Sie Ihre eigenen Anwendungen zur Überwachung Ihrer Server erstellen können. Vom programmgesteuerten Abrufen von Informationen über Sitzungen, Prozesse und den Anwendungsserver bis hin zum Abrufen von Informationen über den Webserver.

Nachdem 4D v17 R4 Ihnen bereits Befehle zum Auslesen von Statusinformationen zur Verfügung gestellt hat, können Sie nun den Status ändern. Sie können nun Ihre eigenen Administrationsoberflächen als Dialoge auf dem Server, Client oder sogar als HTML-Seiten für den Webzugriff erstellen. Das bleibt Ihnen überlassen. Mit diesen Befehlen können Sie die gleichen Aktionen ausführen wie mit der Standard 4D Administrationsoberfläche. Sie können zum Beispiel eine Nachricht an Ihre Benutzer senden, um sie über geplante Wartungsarbeiten zu informieren, oder neue Verbindungen zum Anwendungsserver blockieren, während Sie eine Operation daran durchführen.

Benutzerbefehle

Sie können eine Nachricht vom Server an einen entfernten Benutzer mit dem SEND MESSAGE TO REMOTE USER Befehl senden. Um eine Liste der Benutzersitzungen abzurufen, können Sie den Get process activity Befehl.

Ein Beispiel: Der Server-Administrator möchte eine Nachricht an alle angeschlossenen Benutzer senden.

C_TEXT($message)
$message :="Ein Wartungsvorgang ist geplant und der Server wird neu gestartet. Bitte melden Sie sich vor 22 Uhr ab."
SEND MESSAGE TO REMOTE USER ($message)

Oder senden Sie eine Nachricht nur an John.

C_TEXT($message)
C_COLLECTION ($userCol)
C_OBJECT ($element)

// Retrieve the list of sessions with the userName: "John"
$userCol :=Get process activity(Sessions only).sessions.query("userName = :1"; "John")

$message :="Hallo John."
For each ($element;$userCol)
SEND MESSAGE TO REMOTE USER ($message;$element.ID)
End for each

Sie können eine Benutzersitzung auch mit dem Befehl DROP REMOTE USER Befehl beenden.

C_COLLECTION($userCol)
C_OBJECT ($element)

// Retrieve the list of sessions
$userCol :=Get process activity(Sessions only).sessions.query("userName = :1"; "John")

For each ($element;$userCol)
DROP REMOTE USER ($element.ID)
End for each

Befehle verarbeiten

Mit dem neuen ABORT PROCESS BY ID können Sie einen bestimmten Prozess mit Hilfe seiner eindeutigen Prozess-ID anhalten. Um die eindeutige Prozess-ID abzurufen, können Sie den Befehl Get process activity oder Process properties Befehle verwenden.

Es wurde beispielsweise ein Vorgang in der Datenbank gestartet, der jedoch nicht zu enden scheint und die Leistung des Servers beeinträchtigt. Der Administrator kann die Prozessnummer abrufen und so den Prozess abbrechen.

// Retrieve the list of processes on the server and display it in a list box
$activity:=Get process activity(Processes only).processes

// The process selected by the administrator is aborted
ABORT PROCESS BY ID($activity.processes[selectedItem].ID)

Client-Verbindungen

Der Serveradministrator kann neue Remoteverbindungen mit dem REJECT NEW REMOTE CONNECTION Befehl blockieren. Um festzustellen, ob die Verbindungen angenommen oder abgelehnt wurden, verwenden Sie den Get application info Befehl.

// Reject the new connections
REJECT NEW REMOTE CONNECTIONS(True)
// Execute the maintenance operation
...
// Accept the new connections

REJECT NEW REMOTE CONNECTIONS
(False)

SOAP-ANFORDERUNGEN

Um SOAP-Anfragen zu blockieren, können Sie den SOAP REJECT NEW REQUESTS Befehl. Um zu erfahren, ob die Anfragen angenommen oder abgelehnt wurden, verwenden Sie den WEB Get server info Befehl.

If (WEB Get server info.SOAPServerStarted)
SOAP REJECT NEW REQUESTS (True)
End if

Lizenz aktualisieren

Ihr Team ist gewachsen, und Sie haben neue Client-Verbindungen für Ihren Server erworben. Die Serveradministratoren müssen nicht mehr physisch auf den Server zugreifen, um eine Lizenz zu aktualisieren. Der Befehl Refresh license Befehl ist jetzt verfügbar. Er ruft die gleiche Aktion auf, als ob der Administrator auf die Schaltfläche im Lizenzdialog von 4D Server geklickt hätte. Falls Sie diese Funktion verpasst haben, installiert sie automatisch gekaufte Lizenzen für Clients, 4D Write Pro oder 4D View Pro. Lesen Sie mehr über diese Funktion.

C_OBJECT($res)
$res :=Refresh license
If ($res.success)
ALERT ("Erfolg")
Else
ALERT ($res.message)
End if

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.