如何监控 Neo4j 的连接问题?
How to monitor connection issues of Neo4j?
我使用 Neo4j 社区版。要创建备份,我必须停止 Neo4j 进程,进行备份并再次启动该进程。我想在服务器端为与数据库的连接创建一个观察程序,以便能够向用户显示一些警告消息,表明该数据库不可用。
与其他数据库驱动程序类似,我假设 Neo4j 具有类似于:
const driver = neo4j.driver('bolt://localhost', neo4j.auth.basic('neo4j', 'neo4j'));
const session = driver.session();
session.on('disconnect', () => console.log('disconnected'));
但是文档不包含任何关于此的内容。如果 Neo4j 没有类似的东西,那么我想使用自定义 socket.io 连接连接到螺栓端口,例如:
const ioc = require('socket.io-client');
const NEO4J_BOLT_URL = 'https://localhost:7687';
const client = ioc.connect(NEO4J_BOLT_URL, {
path: '/',
transports: ['websocket'],
});
client.on('connect', () => console.log('connected'));
client.on('disconnect', () => console.log('disconnected'));
client.on('reconnect', () => console.log('reconnected'));
client.on('reconnect_error', (err) => console.log('attempt to reconnect has failed', err));
(无效)
有人可以帮我在这个驱动程序中实现类似的功能吗?我需要的主要是 Neo4j 数据库是否存在时的回调。
Neo4j 的驱动程序维护一个数据库连接池。
当您向驱动程序请求新会话时,驱动程序将从池中获取一个连接(或根据需要创建一个)。
没有 connect
或 disconnect
事件。
你唯一能做的就是在执行事务时捕获错误并检查错误类型是否为SERVICE_UNAVAILABLE
(https://neo4j.com/docs/api/javascript-driver/current/variable/index.html#static-variable-SERVICE_UNAVAILABLE)。
我使用 Neo4j 社区版。要创建备份,我必须停止 Neo4j 进程,进行备份并再次启动该进程。我想在服务器端为与数据库的连接创建一个观察程序,以便能够向用户显示一些警告消息,表明该数据库不可用。
与其他数据库驱动程序类似,我假设 Neo4j 具有类似于:
const driver = neo4j.driver('bolt://localhost', neo4j.auth.basic('neo4j', 'neo4j'));
const session = driver.session();
session.on('disconnect', () => console.log('disconnected'));
但是文档不包含任何关于此的内容。如果 Neo4j 没有类似的东西,那么我想使用自定义 socket.io 连接连接到螺栓端口,例如:
const ioc = require('socket.io-client');
const NEO4J_BOLT_URL = 'https://localhost:7687';
const client = ioc.connect(NEO4J_BOLT_URL, {
path: '/',
transports: ['websocket'],
});
client.on('connect', () => console.log('connected'));
client.on('disconnect', () => console.log('disconnected'));
client.on('reconnect', () => console.log('reconnected'));
client.on('reconnect_error', (err) => console.log('attempt to reconnect has failed', err));
(无效)
有人可以帮我在这个驱动程序中实现类似的功能吗?我需要的主要是 Neo4j 数据库是否存在时的回调。
Neo4j 的驱动程序维护一个数据库连接池。
当您向驱动程序请求新会话时,驱动程序将从池中获取一个连接(或根据需要创建一个)。
没有 connect
或 disconnect
事件。
你唯一能做的就是在执行事务时捕获错误并检查错误类型是否为SERVICE_UNAVAILABLE
(https://neo4j.com/docs/api/javascript-driver/current/variable/index.html#static-variable-SERVICE_UNAVAILABLE)。