如何使 gremlin_python DriverRemoteConnection 为每次提交设置超时和重试限制?

问题描述

免责声明:我们目前正在使用 gremlinpython==3.4.8,我相信在最近的版本中已经解决了其中的一些问题,但我不确定。总的来说,这似乎是一个非常活跃的存储库,在过去的两个最新版本日志(目前在 3.4.10)中有一些相关的变化。很高兴根据需要升级

文档在哪里,或者您能否提供一个实例化 DriverRemoteConnection 对象的示例,该对象具有适当的配置以允许以 NUM_RETRIES 次重试重试每个查询提交?

我不确定这些选项中的哪一个适用于获得我想要的行为。 https://tinkerpop.apache.org/docs/current/reference/#python-configuration

也许有意义的是覆盖 submit 方法

我们当前如何实例化 DriverRemoteConnection 对象的示例:

  •   gremlin_python.process.anonymous_traversal import traversal
      connection_object = traversal().withRemote(CONNECTION_STRING)
    

解决方法

文档在哪里,或者您能否提供一个实例化 DriverRemoteConnection 对象的示例,该对象具有适当的配置以允许使用 NUM_RETRIES 重试次数重试每个查询提交?

没有这样的配置。即使对于 TinkerPop 存储库中功能最强大的 Java 驱动程序,也没有这样的功能。请求重试需要特定于应用程序的编程,因为服务器错误消息和代码目前尚未统一(请参阅 TINKERPOP-2517)。因此,根据您选择的图形数据库,您需要确定您将重试哪些错误代码和/或消息,并自己编写此类应用程序逻辑。希望这能澄清 TinkerPop 的立场和驱动程序的特征。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...