Para evitar la pérdida de la sesión, 4D controla el estado de reposo de las aplicaciones 4D remotas.
Cuando un usuario se conecta desde una aplicación 4D remota a un 4D Server y su ordenador entra en modo de suspensión, la información se envía a 4D Server. En el momento en que el ordenador del usuario se despierta, la aplicación 4D remota recupera entonces su contexto de ejecución.
Comprobación del estado de las aplicaciones 4D remotas
El estado de reposo de una aplicación 4D remota se muestra en la ventana de Administración del Servidor, en Usuarios > Actividad:
Otra forma de detectar las aplicaciones 4D remotas en reposo es utilizar el comando Get process activity comando:
$sleepingRemotes:=Get process activity (Sessions only).sessions.query("state = :1"; "sleeping")
Cómo funciona
Mientras está en modo dormido, todos los recursos consumidos por el 4D remoto siguen asignados a él, para recuperar su estado de trabajo cuando se despierte. Los procesos, las licencias, las transacciones abiertas, los registros bloqueados, etc., se liberan sólo cuando la sesión de 4D remoto termina.
Para evitar que las sesiones permanezcan en modo de reposo durante demasiado tiempo, 4D Server cierra automáticamente todas las sesiones remotas de 4D que han estado en reposo durante más de 48 horas.
Si desea gestionar este tiempo de espera de forma más precisa, en función del uso de su cliente, puede utilizar el comando SET DATABASE PARAMETER con el selector Remote connection sleep timeout. Tenga en cuenta que el tiempo de espera se establecerá en segundos y que el valor no se almacena, por lo que deberá establecer su propio tiempo de espera en el reinicio. Incluso puede establecerse indistintamente en el 4D Server remoto y en el 4D Server, ya que el valor sólo tiene efecto en el lado del 4D Server para todas las aplicaciones 4D remotas.
La comprobación del estado de reposo de las aplicaciones 4D remotas se realiza cada 5 minutos en el servidor 4D.
Ejemplo
defaultTimeout:=Get database parameter(Remote connection sleep timeout) // 172800 seconds by default
)
SET DATABASE PARAMETER (Remote connection sleep timeout; 7200 // Set to 2 hours
Nota: la gestión del modo de reposo no está disponible con la capa de red heredada.