27.4 グラフ・クライアント・セッション
グラフ・サーバー(PGX)は、複数の同時クライアントが存在し、各クライアントによってリクエストが共有PGXサーバーに個別に送信されることを前提としています。
各セッションはPGXに独自のワークスペースを所有し、他のセッションから分離されています。
セッション間でグラフやプロパティを共有できます。
セッションの作成
ServerInstance
クラス内の次のメソッドを使用してセッションを作成します。
PgxSession createSession(String source)
PgxSession createSession(String source, long idleTimeout, long taskTimeout, TimeUnit unit)
前述のメソッドは、次の引数を受け入れます。
source
は、クライアントを記述する任意の文字列です。現在、この文字列はロギング目的でのみ使用されます。- ユーザーは、新規セッションの作成時に、アイドル・タイムアウト(
idleTimeout
)およびタスク・タイムアウト(taskTimeout
)を指定できます。これらの値が指定されていない場合は、デフォルト値が使用されます。グラフ・サーバー(PGX)構成オプションの詳細は、グラフ・サーバー(PGX)エンジンの構成パラメータを参照してください。
import pypgx
session = pypgx.get_session()
セッションの破棄
セッションを破棄するには、単に次をコールします。
session.destroyAsync();
session.destroy();
session.destroy()
管理者は、次のコードを使用して、セッションをIDによって破棄できます。
instance.killSession(sessionId);
ノート:
管理メソッドをデフォルトでコールするには、クライアント/サーバー・モードで特別な認可が必要です。セッションが破棄されると、PGXでは、そのセッションに関連付けられるすべてのリソースを再利用します。明示的に、すべての一時データは即時に破棄されます。一時データの詳細は、一時データの管理を参照してください。
ただし、PGXでは、特にグラフ・インスタンスが複数のクライアントによって共有されている場合、キャッシュ目的で、ロードされたグラフ・インスタンスをメモリーに保持することを選択できます。要約すると、使用中のクライアントが存在しなくなるまで、すべてのグラフはメモリーに残ります。
ノート:
セッションは、セッションのタイムアウト・メカニズムを介して自動的に破棄できます。グラフ・サーバー(PGX)構成オプションの詳細は、グラフ・サーバー(PGX)エンジンの構成パラメータを参照してください。親トピック: PGXプログラミング・ガイド