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

时间:2018-10-12 08:23:46

标签: python neo4j neo4j-driver

我有一个脚本,该脚本使用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实例上运行。如果您有什么建议可以解决,我将非常感谢!

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

1 个答案:

答案 0 :(得分:0)

我们决定使用GraphQL与Neo4j进行通信,这似乎不再是一个问题。我找不到任何解决方案或线索,但是为什么在我的计算机上可以正常工作的同时却表现出这样的行为。该服务使用ECS部署在Docker容器上。