0

現在、neo4j-community-2.1.7 を使用しています

この機能がこのバージョンに含まれていることを理解しています。

Rubyドキュメントでそれへの参照を見つけることができませんでした。

neo4jrbを使用してタイムアウトをリセットする方法について何か指示があれば、非常に感謝しています。

よろしくロス

4

1 に答える 1

1

開いているトランザクションのトランザクション タイムアウトをリセットする方法がわかりません。おそらく、Java API のトランザクションに詳しい人が明確にすることができます。

起動時にトランザクション タイムアウトの長さを変更する場合は、 http://neo4j.com/docs/stable/server-configuration.htmlneo4j-server.propertiesで説明されているように処理されます。

Neo4j::Session.openNeo4j-core 内で、Neo4j-community または Neo4j-enterprise (したがって Neo4j Embedded) を使用している場合、コードは、構成オプションを含むハッシュである に3 番目の引数を与えることで、構成ファイルを指定できることを示唆しています。そのメソッドは、最初の引数として指定された場合、そのハッシュを:embedded_db呼び出して引数として渡します。Neo4j::Embedded#initialize次のようなことをすると:

Neo4j::Session.open(:embedded_db, 'path_to_db', properties_file: 'path_and_filename_to_neo4j-server.properties')

最終的にはそのプロパティ ファイルを使用します。

db_service.loadPropertiesFromFile(properties_file) if properties_file

残念ながら、これはどの仕様でも示されていませんが、https://github.com/neo4jrb/neo4j-core/blob/230d69371ed6bf39297786155ef4f3b1831dac08/lib/neo4j-embedded/embedded_session.rbinitializestartメソッドで確認できます。

RE: コメント情報

を使用している場合は、 gem:server_dbを含める必要はありません。neo4j-communityロードされていないため、サーバー モードの Neo4j と互換性がありません。

あなたが提供したリンクを初めて見ました。そこにあることを知ってよかったです。Neo4j.rb でそれを行う方法を公開していません。また、サポートできないスレッド マジックが必要になるため、公開しません。手動で行いたい場合は、次の方法で現在のトランザクション ID を取得できます。

tx = Neo4j::Transaction.new
# do stuff and before your long-running query...
tx.resource_data[:commit].split('/')[-2]

サポート ドキュメントに記載されているように、POST で使用できるトランザクション番号が返されます。

長時間実行されている Cypher クエリのトラブルシューティングを支援したい場合は、SO の人々が役立つと確信しています。

于 2015-04-21T19:28:23.253 に答える