Neo4j 驱动程序在执行查询时关闭连接



我有一个脚本,它使用 Neo4j 来跟踪用户对酒精类型的口味偏好。因此,基本上当用户通过 API 端点设置他的首选项时,响应会缓冲到 Kafka,我从那里选择它。尝试通过neo4j python驱动程序读取/写入Neo4j时,我收到以下错误:

Traceback (most recent call last):
File "/usr/local/lib/python2.7/ssl.py", line 787, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python2.7/ssl.py", line 657, in read
v = self._sslobj.read(len, buffer)
socket.error: [Errno 104] Connection reset by peer
Exception socket.error: error(104, 'Connection reset by peer') in 'neo4j.bolt._io.ChunkedInputBuffer.receive' ignored
INFO:UserSettingsProcessorProduction:2018-09-25 13:01:34 Type:<class 'neo4j.exceptions.ServiceUnavailable'> Filename:user_settings_processor.py Line:258 ERROR: Failed to write to closed connection Address(host='54.225.50.91', port=24786)

奇怪的是我无法在本地重现它,但是当它运行时我经常得到它 一个 Docker 容器。我在某处读到可能是 Docker 配置问题。如果容器是示例或类似内容的私有容器。我通过AWS/ECS(弹性容器服务(部署了它,它运行在Amazon Linux AMI的EC2实例上。如果您有任何建议可以解决它,我将不胜感激!

如果我也找到答案,我会保持线程更新。

我们决定使用 GraphQL 与 Neo4j 进行通信,这似乎不再是问题。我找不到任何解决方案或线索,为什么它实际上表现得像这样,同时在我的计算机上工作得很好。该服务使用 ECS 部署在 docker 容器上。

最新更新