/var/log/messages

Aug 21, 2018 - 2 minute read - Comments - recommendation

Gremlin Sessions

以下なドキュメントを機械翻訳したので以下に控えを。

次の方法で作成された “:remote”は、 “sessionless”となります。つまり、サーバーに発行された各スクリプトは :>でトランザクションに格納され、ある要求から次の要求に状態は維持されません。

gremlin> :remote connect tinkerpop.server conf/remote-objects.yaml
==>Configured localhost/127.0.0.1:8182

つまり、トランザクションは自動的にコミット(またはエラー時にロールバック)され、そのスクリプトで宣言された変数は次のリクエストでは忘れ去られます。 そのトピックの詳細については、「セッションの検討」のセクションを参照してください。

リモートがセッションに接続できるようにするには、connect引数に次のように別の引数を指定します。

gremlin> :remote connect tinkerpop.server conf/remote.yaml session
==>Configured localhost/127.0.0.1:8182-[e453e97a-19a8-4533-b2fe-8e7d3ff72f57]
gremlin> :> x = 1
==>1
gremlin> :> y = 2
==>2
gremlin> :> x + y
==>3
gremlin> :remote close
==>Removed - Gremlin Server - [localhost/127.0.0.1:8182]-[e453e97a-19a8-4533-b2fe-8e7d3ff72f57]

上記のコマンドでは、セッション識別子のためにランダムなUUIDを持つセッションが作成されます。 上記のremoteコマンドの最後の引数としてカスタムセッション識別子を追加することでカスタムセッション識別子を割り当てることもできます。 また、「セッション」を「セッション管理」に置き換えて、トランザクションを自動管理するセッション(つまり、各要求はトランザクションの境界内で発生する)を作成するオプションもあります。 このように、リクエスト間のバウンド変数の状態は維持されますが、グラフのトランザクションスコープを手動で管理する必要はなくなりました。

再帰下降構文解析器 (2) Gremlin Exporter

comments powered by Disqus