在我的 NodeJS 应用程序中,我使用 Sequelize 来处理我的 MariaDB。在 Sequelize 无法连接数据库的情况下,我经常遇到超时错误。我认为这是正常行为,但我想对此类错误做出反应,例如重新启动 NodeJS 服务器。
所以我的问题是,有人知道如何捕捉这种错误吗?
text: "Connection timeout: failed to create socket after 1002ms",
sql: null,
fatal: true,
errno: 45012
sqlState: "08S01"
code "ERR_CONNECTION_TIMEOUT"
此错误以红色显示,NodeJS 应用程序被终止。
我用这个连接数据库:
const Sequelize = require("sequelize");
const sequelize = new Sequelize("xxx", "xxx", "xxx", {
host: "xxxx",
dialect: "mariadb",
pool: {
max: 15,
min: 0,
idle: 10000,
},
logging: false,
timezone: "+01:00",
});
sequelize
.authenticate()
.then(() => {
console.log("Connection to database has been established successfully.");
})
.catch((err) => {
console.error("Unable to connect to database:", err);
});
module.exports = sequelize;
知道如何防止这个被杀死的 NodeJS 实例吗?我也用pm2
注意:这不是我的 NodeJS 和 MAriaDB 的永久性问题。这是随机发生的。大多数时候它运行良好 300000 次然后我得到了这个错误。直接重启 NodeJS 就会让它再次运行,直到出现这个错误。