セッションの損失を防ぐために、4Dはリモート4Dアプリケーションのスリープ状態を監視しています。
ユーザーがリモートの4Dアプリケーションから4Dサーバーに接続し、コンピューターがスリープモードになると、その情報が4Dサーバーに送信されます。ユーザーのコンピューターが起動した瞬間に、リモート4Dアプリケーションは実行コンテキストを回復します。
リモート4Dアプリケーションの状態を確認する
リモート4Dアプリケーションのスリープ状態は、サーバー管理ウィンドウのユーザー > アクティビティに表示されます。
スリープ中のリモート4Dアプリケーションを検出するもう1つの方法として Get process activityコマンドを使用することです。
$sleepingRemotesGet process activitySessions onlysessions. ("state = :1"; "sleeping")query
仕組み
スリーピングモードでは、リモート4Dが消費したすべてのリソースは、スリープ解除時に作業状態を取得するために、リモート4Dに割り当てられたままです。プロセス、ライセンス、オープンされたトランザクション、ロックされたレコードなどは、リモート4Dセッションが終了したときにのみ解放されます。
セッションが長くスリープ状態にならないように、4Dサーバーは、48時間以上スリープ状態のリモート4Dセッションを自動的に閉じます。
顧客の使用状況に応じて、このタイムアウトをより正確に管理したい場合 は、 セレクタで SET DATABASE PARAMETERコマンドで、Remote connection sleep timeout セレクタを使用します。なお、タイムアウトは秒単位で設定するものとし、値は保存されないので、再起動時に自分でタイムアウトを設定する必要があります。この値は、4Dサーバー側でのみ、すべてのリモート4Dアプリケーションに適用されるため、リモート4Dと4Dサーバーで区別なく設定することも可能です。
リモート4Dアプリケーションのスリーピングチェックは、4Dサーバー上で5分ごとに実行されます。
例
defaultTimeout:=Get database parameter(Remote connection sleep timeout)// 172800 seconds by default
)
SET DATABASE PARAMETER (Remote connection sleep timeout; 7200 // Set to 2 hours
注:レガシーネットワークレイヤーでは、スリーピングモード管理は使用できません。