Nouvelles commandes d’administration du serveur

Traduit automatiquement de Deepl

4D continue à fournir des fonctionnalités pour vous aider à créer vos propres applications pour surveiller vos serveurs. De la récupération programmatique d’informations sur les sessions, les processus et le serveur d’applications, à l’obtention d’informations sur le serveur web.

Après vous avoir déjà fourni des commandes pour lire les statuts, 4D v17 R4 vous donne maintenant la possibilité de modifier les statuts. Vous pouvez maintenant créer vos propres interfaces d’administration sous forme de boîtes de dialogue sur le serveur, le client, ou même sous forme de pages HTML pour un accès Web. C’est vous qui décidez. Ces commandes vous permettent d’effectuer les mêmes actions que l’interface d’administration standard de 4D. Par exemple, vous pouvez envoyer un message à vos utilisateurs pour les informer d’une maintenance planifiée, ou bloquer les nouvelles connexions au serveur d’application pendant que vous effectuez une opération sur celui-ci.

Commandes de l’utilisateur

Vous pouvez envoyer un message du serveur à un utilisateur distant avec la commande SEND MESSAGE TO REMOTE USER pour envoyer un message du serveur à un utilisateur distant. Pour récupérer une liste de sessions d’utilisateurs, vous pouvez utiliser la commande Get process activity pour récupérer la liste des sessions utilisateur.

Par exemple, l’administrateur du serveur souhaite envoyer un message à tous les utilisateurs connectés.

C_TEXT($message)
$message :="Une opération de maintenance est prévue et le serveur va être redémarré. Veuillez vous déconnecter avant 22 heures."
SEND MESSAGE TO REMOTE USER ($message)

Ou envoyez un message uniquement à 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 :="Bonjour John."
For each ($element;$userCol)
SEND MESSAGE TO REMOTE USER ($message;$element.ID)
End for each

Vous pouvez également mettre fin à une session utilisateur à l’aide de la commande DROP REMOTE USER commande.

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

Commandes de processus

Avec la nouvelle ABORT PROCESS BY ID vous pouvez arrêter un processus spécifique en utilisant son ID de processus unique. Pour récupérer l’ID unique du processus, vous pouvez utiliser la commande Get process activity ou Process properties pour le récupérer.

Par exemple, une opération a été lancée sur la base de données mais elle semble interminable et perturbe les performances du serveur. L’administrateur peut récupérer le numéro du processus et ainsi l’interrompre.

// 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)

Connexions du client

L’administrateur du serveur peut bloquer les nouvelles connexions à distance avec la commande REJECT NEW REMOTE CONNECTION pour bloquer les nouvelles connexions à distance. Pour savoir si les connexions ont été acceptées ou refusées, utilisez la commande Get application info pour savoir si les connexions ont été acceptées ou refusées.

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

REJECT NEW REMOTE CONNECTIONS
(False)

DEMANDES SOAP

Pour bloquer les demandes SOAP, vous pouvez utiliser la commande SOAP REJECT NEW REQUESTS commande. Pour savoir si les demandes ont été acceptées ou refusées, utilisez la commande WEB Get server info commande.

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

Rafraîchir la licence

Votre équipe s’est agrandie, vous avez donc acheté de nouvelles connexions client pour votre serveur. Les administrateurs du serveur ne sont plus obligés d’accéder physiquement à la machine serveur pour mettre à jour une licence. La commande Refresh license est maintenant disponible. Elle appelle la même action que si l’administrateur avait cliqué sur le bouton dans la boîte de dialogue de licence de 4D Server. Au cas où vous auriez manqué cette fonctionnalité, elle installe automatiquement les licences achetées pour les clients, 4D Write Pro ou 4D View Pro. En savoir plus sur cette fonctionnalité.

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

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.