Discord.js node.js-防止递归退出处理

Discord.js node.js-防止递归退出处理,discord.js,handler,exit,Discord.js,Handler,Exit,我拥有一个名为Condence的Discord机器人 为了避免延迟,它每2分钟保存一次数据库。但是,如果在这段时间间隔内停止数据库,则会损坏数据库,如果在保存期间停止数据库,情况会更糟 它的数据库是一个JSON文件,但现在这并不重要。重要的是,这是退出处理程序: function exitHandler(cause) { console.log("Condensed is closing with error code " + cause) dbWrite(DBPL) con

我拥有一个名为Condence的Discord机器人

为了避免延迟,它每2分钟保存一次数据库。但是,如果在这段时间间隔内停止数据库,则会损坏数据库,如果在保存期间停止数据库,情况会更糟

它的数据库是一个JSON文件,但现在这并不重要。重要的是,这是退出处理程序:

function exitHandler(cause) {
console.log("Condensed is closing with error code " + cause)
dbWrite(DBPL)
console.log("Goodbye!")
process.exit()
}
process.on('exit', exitHandler.bind("0"))
process.on('SIGINT', exitHandler.bind("1"))
process.on('SIGUSR1', exitHandler.bind("3"))
process.on('SIGUSR2', exitHandler.bind("3"))
process.on('uncaughtException', exitHandler.bind("2"))
但是,每当我终止进程时,日志中就会显示:

[SYSTEM]: Database save initiated.
[SYSTEM]: Database updated.
Goodbye!
Condensed is closing with error code 0
[SYSTEM]: Database save initiated.
[SYSTEM]: Database updated.
Goodbye!
这会导致另一次不必要的写入,这可能会造成中断。它也会减慢速度,一旦数据库变得漂亮和庞大,这将是一个主要问题。(现在大约有2KB)

如何防止它自身激活? 而且,它只做一次,之后,它就关闭了