Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Optionales Festlegen von Zeitüberschreitungen auf Abfrageebene
Neptune bietet Ihnen die Möglichkeit, mithilfe der Parametergruppenoption neptune_query_timeout (siehe Parameter) ein Timeout für Ihre Abfragen einzurichten. Sie können das globale Timeout auch mit folgendem Code überschreiben:
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(); }
Für die Übermittlung zeichenfolgebasierter Abfragen würde der Code wie folgt aussehen:
RequestOptions options = RequestOptions.build().timeout(500).create(); List<Result> result = client.submit("g.V()", options).all().get();
Anmerkung
Es können unerwartete Kosten entstehen, wenn Sie den Wert für das Abfrage-Timeout zu hoch festlegen, insbesondere bei einer Serverless-Instance. Ohne eine angemessene Timeout-Einstellung läuft Ihre Abfrage möglicherweise viel länger als erwartet, wodurch Kosten entstehen können, die Sie nie erwartet haben. Dies gilt insbesondere für eine Serverless-Instance, die während der Ausführung der Abfrage auf einen großen, teuren Instance-Typ hochskaliert werden könnte.
Sie können unerwartete Ausgaben dieser Art vermeiden, indem Sie einen Wert für das Abfrage-Timeout verwenden, der der von Ihnen erwarteten Laufzeit entspricht und nur bei einer ungewöhnlich langen Ausführung zu einer Zeitüberschreitung führt.
Ab der Neptune-Engine-Version 1.3.2.0 unterstützt Neptune einen neuen neptune_lab_mode-Parameter als. StrictTimeoutValidation Wenn dieser Parameter den Wert von hat, darf ein Timeout-Wert pro AbfrageEnabled, der als Anforderungsoption oder als Abfragehinweis angegeben wurde, den global in der Parametergruppe festgelegten Wert nicht überschreiten. In einem solchen Fall wirft Neptune. InvalidParameterException
Diese Einstellung kann in einer Antwort auf den Endpunkt '/status' bestätigt werden, wenn der Wert und in Disabled1.3.2.0, der Standardwert dieses Parameters ist. Disabled Ab in StrictTimeoutValidation wurde der so geändert1.4.0.0, dass er Enabled standardmäßig ist.