Per evitare la perdita della sessione, 4D monitora lo stato di sospensione delle applicazioni 4D remote.
Quando un utente è connesso da un’applicazione 4D remota a un Server 4D e il suo computer entra in modalità sleep, l’informazione viene inviata al Server 4D. Nel momento in cui il computer dell’utente si sveglia, l’applicazione 4D remota recupera il suo contesto di esecuzione.
Controllo dello STATO DELLE APPLICAZIONI 4D REMOTE
Lo stato di sospensione di un’applicazione 4D remota viene visualizzato nella finestra Amministrazione server, in Utenti > Attività:
Un altro modo per rilevare le applicazioni 4D remote in modalità sleep è quello di utilizzare il comando Get process activity comando:
$sleepingRemotes:=Get process activity (Sessions only).sessions.query("state = :1"; "sleeping")
COME FUNZIONA
Mentre è in modalità sleeping, tutte le risorse consumate dal 4D remoto sono ancora allocate ad esso, per recuperare il suo stato di lavoro al risveglio. I processi, le licenze, le transazioni aperte, i record bloccati, ecc. vengono liberati solo quando la sessione del 4D remoto termina.
Per evitare che le sessioni rimangano in modalità di sospensione per troppo tempo, 4D Server chiude automaticamente tutte le sessioni 4D remote che sono rimaste in sospensione per più di 48 ore.
Se si desidera gestire questo timeout in modo più preciso, a seconda dell’utilizzo da parte del cliente, è possibile utilizzare il comando SET DATABASE PARAMETER con il selettore Remote connection sleep timeout. Si noti che il timeout deve essere impostato in secondi e che il valore non viene memorizzato, quindi è necessario impostare il proprio timeout al riavvio. Può anche essere impostato indifferentemente sul 4D remoto e sul server 4D, poiché il valore ha effetto solo sul server 4D per tutte le applicazioni 4D remote.
Il controllo dello stato di sospensione delle applicazioni 4D remote viene eseguito ogni 5 minuti sul server 4D.
Esempio
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 gestione della modalità di sospensione non è disponibile con il livello di rete legacy.