Secara opsional, atur batas waktu pada tingkat per kueri - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Secara opsional, atur batas waktu pada tingkat per kueri

Neptune menyediakan kemampuan untuk mengatur batas waktu untuk kueri Anda menggunakan opsi grup parameter neptune_query_timeout (lihat Parameter). Dimulai dengan versi 3.3.7 dari klien Java, tetapi, Anda juga dapat mengganti batas waktu global, dengan kode seperti ini:

final Cluster cluster = Cluster.build("localhost") .port(8182) .maxInProcessPerConnection(32) .maxSimultaneousUsagePerConnection(32) .serializer(Serializers.GRAPHBINARY_V1D0) .create(); try { final GraphTraversalSource g = traversal().withRemote(DriverRemoteConnection.using(cluster)); List<Object> verticesWithNamePumba = g.with(ARGS_EVAL_TIMEOUT, 500L).V().has("name", "pumba").out("friendOf").id().toList(); System.out.println(verticesWithNamePumba); } finally { cluster.close(); }

Atau, untuk pengiriman kueri berbasis string, kodenya akan terlihat seperti ini:

RequestOptions options = RequestOptions.build().timeout(500).create(); List<Result> result = client.submit("g.V()", options).all().get();
catatan

Dimungkinkan untuk mengeluarkan biaya tak terduga jika Anda menetapkan nilai batas waktu kueri terlalu tinggi, terutama pada instance tanpa server. Tanpa pengaturan batas waktu yang wajar, kueri Anda dapat terus berjalan lebih lama dari yang Anda harapkan, menimbulkan biaya yang tidak pernah Anda antisipasi. Hal ini terutama berlaku pada instance tanpa server yang dapat meningkatkan skala hingga jenis instance yang besar dan mahal saat menjalankan kueri.

Anda dapat menghindari pengeluaran tak terduga semacam ini dengan menggunakan nilai batas waktu kueri yang mengakomodasi run-time yang Anda harapkan dan hanya menyebabkan jangka waktu habis yang luar biasa.

Mulai dari mesin Neptunus versi 1.3.2.0, Neptunus mendukung parameter neptune_lab_mode baru sebagai parameter. StrictTimeoutValidation Ketika parameter ini memiliki nilaiEnabled, nilai batas waktu per kueri yang ditentukan sebagai opsi permintaan atau petunjuk kueri tidak dapat melebihi nilai yang ditetapkan secara global dalam grup parameter. Dalam kasus seperti itu, Neptunus akan melempar. InvalidParameterException

Pengaturan ini dapat dikonfirmasi dalam respons pada titik akhir '/status' saat nilainyaDisabled, dan di 1.3.2.0, nilai default parameter ini adalah. Disabled