节点 js 应用程序关闭时无法注销尤里卡
Not able to deregister eureka when node js app shutdown
我正在使用 eureka-js-client 来抵抗带有 eureka 发现服务器的节点 js 应用程序。它工作正常。但是当节点 js 服务关闭时,它不会注销发现,并且在服务关闭后仍然显示为可用实例。
这是我注销的方式:
process.on('exit', function() {
eurekaClient.stop() ;
});
我为节点 js 应用程序使用了 exitHandelr,并在其中从 eureka 发现服务注销。
process.stdin.resume();
function exitHandler(options, exitCode) {
if (options.cleanup) console.log('clean');
if (exitCode || exitCode === 0) console.log(exitCode);
if (options.exit) {
eurekaClient.stop(function (error) {
process.exit();
});
}
}
//do something when app is closing
process.on('exit', exitHandler.bind(null, {cleanup: true}));
//catches ctrl+c event
process.on('SIGINT', exitHandler.bind(null, {exit: true}));
// catches "kill pid" (for example: nodemon restart)
process.on('SIGUSR1', exitHandler.bind(null, {exit: true}));
process.on('SIGUSR2', exitHandler.bind(null, {exit: true}));
//catches uncaught exceptions
process.on('uncaughtException', exitHandler.bind(null, {exit: true}));
我正在使用 eureka-js-client 来抵抗带有 eureka 发现服务器的节点 js 应用程序。它工作正常。但是当节点 js 服务关闭时,它不会注销发现,并且在服务关闭后仍然显示为可用实例。
这是我注销的方式:
process.on('exit', function() {
eurekaClient.stop() ;
});
我为节点 js 应用程序使用了 exitHandelr,并在其中从 eureka 发现服务注销。
process.stdin.resume();
function exitHandler(options, exitCode) {
if (options.cleanup) console.log('clean');
if (exitCode || exitCode === 0) console.log(exitCode);
if (options.exit) {
eurekaClient.stop(function (error) {
process.exit();
});
}
}
//do something when app is closing
process.on('exit', exitHandler.bind(null, {cleanup: true}));
//catches ctrl+c event
process.on('SIGINT', exitHandler.bind(null, {exit: true}));
// catches "kill pid" (for example: nodemon restart)
process.on('SIGUSR1', exitHandler.bind(null, {exit: true}));
process.on('SIGUSR2', exitHandler.bind(null, {exit: true}));
//catches uncaught exceptions
process.on('uncaughtException', exitHandler.bind(null, {exit: true}));