Comment définir le délai d’attente pour les applications 4D distantes ?

Traduit automatiquement de Deepl

Pour éviter la perte de session, 4D surveille l’état de sommeil des applications 4D distantes.

Lorsqu’un utilisateur est connecté depuis une application 4D distante à un 4D Server et que son ordinateur se met en mode veille, l’information est envoyée au 4D Server. Au moment où l’ordinateur de l’utilisateur se réveille, l’application 4D distante récupère alors son contexte d’exécution.

Vérification de l’état des applications 4D distantes

L’état de veille d’une application 4D distante est affiché dans la fenêtre Administration du serveur, dans Utilisateurs > Activité :

Une autre façon de détecter les applications 4D distantes en sommeil est d’utiliser la commande Get process activity commande :
$sleepingRemotes:=Get process activity (Sessions only).sessions.query("state = :1" ; "sleeping")

Comment cela fonctionne-t-il ?

En mode sommeil, toutes les ressources consommées par l’application 4D distante lui sont encore allouées, afin de retrouver son état de fonctionnement au réveil. Les processus, licences, transactions ouvertes, enregistrements verrouillés, etc., ne sont libérés que lorsque la session du 4D distant se termine.
Pour éviter que les sessions ne restent trop longtemps en mode sommeil, 4D Server ferme automatiquement toutes les sessions 4D distantes qui sont restées en sommeil pendant plus de 48 heures.

Si vous souhaitez gérer ce délai de manière plus précise, en fonction de l’utilisation de votre client, vous pouvez utiliser la commande SET DATABASE PARAMETER avec le sélecteur Remote connection sleep timeout. Notez que le délai d’attente doit être défini en secondes et que la valeur n’est pas stockée, vous devez donc définir votre propre délai d’attente au redémarrage. Il peut même être défini indifféremment sur le 4D distant et le 4D Server, puisque la valeur ne prend effet que du côté du 4D Server pour toutes les applications 4D distantes.

Les contrôles de l’état de veille des applications 4D distantes sont effectués toutes les 5 minutes sur le serveur 4D.

Exemple

defaultTimeout:=Get database parameter(Remote connection sleep timeout) // 172800 seconds by default
SET DATABASE PARAMETER (Remote connection sleep timeout; 7200
) // Set to 2 hours

Remarque : la gestion du mode sommeil n’est pas disponible avec la couche réseau héritée.

Avatar
- Product Owner -Damien Fuzeau a rejoint l'équipe 4D Product en février 2019. En tant que Product Owner, il est en charge de la rédaction des user stories, puis de leur traduction en spécifications fonctionnelles. Son travail consiste également à s'assurer que les implémentations de fonctionnalités livrées répondent aux besoins des clients.Damien est diplômé de l'Université de Nantes en génie logiciel. Il a passé plus de 23 ans dans son ancienne entreprise, d'abord en tant que développeur (découverte de 4D en 1997), puis en tant que responsable de l'ingénierie et architecte logiciel. Cette société est un partenaire OEM de 4D et a déployé des logiciels d'entreprise basés sur 4D pour des milliers d'utilisateurs, sur des centaines de serveurs. Damien est donc habitué au développement et au déploiement 4D dans un contexte multi-langues.