代码之家  ›  专栏  ›  技术社区  ›  Srinath Ganesh

aws neptune:查询超时值

  •  3
  • Srinath Ganesh  · 技术社区  · 6 年前

    我运行了一个长查询(可能有两分钟长),代码因超时错误而崩溃。

    我不使用gremlin服务器,我直接从python代码连接到neptune端点。

    对于NEO4J,我将 scriptEvaluationTimeout 位于 https://github.com/apache/tinkerpop/blob/master/gremlin-server/conf/gremlin-server-neo4j.yaml 是的。

    我应该如何为海王星改变类似的东西(当我不使用Gremlin服务器时)

    Traceback (most recent call last):
      File "test.py", line 18, in <module>
        print(execute_query(query))
      File "/home/ec2-user/app/ecodrone/ecodrone/base_gremlin.py", line 56, in execute_query
        results = future_results.result()
      File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 432, in result
        return self.__get_result()
      File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 384, in __get_result
        raise self._exception
      File "/usr/local/lib/python3.7/site-packages/gremlin_python/driver/resultset.py", line 81, in cb
        f.result()
      File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 425, in result
        return self.__get_result()
      File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 384, in __get_result
        raise self._exception
      File "/usr/lib64/python3.7/concurrent/futures/thread.py", line 57, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/usr/local/lib/python3.7/site-packages/gremlin_python/driver/connection.py", line 77, in _receive
        self._protocol.data_received(data, self._results)
      File "/usr/local/lib/python3.7/site-packages/gremlin_python/driver/protocol.py", line 98, in data_received
        "{0}: {1}".format(status_code, message["status"]["message"]))
    gremlin_python.driver.protocol.GremlinServerError: 598: {"requestId":"2b5511fe-4930-4d84-b685-dc3c9943d991","code":"TimeLimitExceeededException","detailedMessage":"A timeout occurred within the script during evaluation of [RequestMessage{, requestId=2b5511fe-4930-4d84-b685-dc3c9943d991, op='eval', processor='', args={gremlin=g.withSack(0).V().hasLabel(\"People\").as(\"from\",\"to\").\n                repeat(both().as(\"to\").dedup(\"from\",\"to\").\n                sack(sum).by(constant(1))).\n                emit(hasLabel(\"Process\")).\n                sack().dedup().fold().\n                project(\"min\", \"max\").\n                by(choose(count(local).is(0), constant(0), min(local))).\n                by(choose(count(local).is(0), constant(0), max(local))), aliases={g=g}}}] - consider increasing the timeout"}
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   stephen mallette    6 年前

    海王星文件描述了 neptune_query_timeout -我想这对你有帮助:

    https://docs.aws.amazon.com/neptune/latest/userguide/parameters.html

    推荐文章