Nodemon 在 Node 中只启动网络服务器(不是数据库服务器)
Nodemon start only webserver (not db server) in Node
我正在使用 nodemon 在进行任何更改时重新启动我的节点应用程序。我的问题是每次更改代码后 Web 服务器和数据库服务器都会重新启动。我正在使用 Oracle 数据库。下面是我的 app.js 代码:
const webServer = require('./services/web-server.js');
const database = require('./services/database.js');
const dbConfig = require('./config/database.js');
const defaultThreadPoolSize = 4;
async function startup() {
console.log('Starting application');
//Initializing web server module
try {
console.log('Initializing web server module');
await webServer.initialize();
} catch (err) {
console.error(err);
process.exit(1); // Non-zero failure code
}
//Initializing the Oracle DB
try {
console.log('Initializing database module');
await database.initialize();
} catch (err) {
console.error(err);
process.exit(1); // Non-zero failure code
}
//Stopping Oracle DB
/*try {
console.log('Closing database module');
await database.close();
} catch (err) {
console.log('Encountered error', e);
err = err || e;
}*/
}
startup();
services/web-server.js,我正在创建一个如下所示的 http 服务器:
httpServer = http.createServer(app);
services/database.js,我正在为 Oracle 创建一个池:
const pool = await oracledb.createPool(dbConfig.hrPool);
请建议我如何使用 nodemon 只重启网络服务器?我不希望数据库连接总是重新启动...
您的数据库服务器不会在您每次重新启动节点应用程序时重新启动。
发生的情况是您的节点在每次重新启动时都重新创建与数据库的连接,这是正常的并且无法避免。
您可以通过连接到 Oracle 服务器并在节点应用程序停止时对其进行查询来检查这一点。
我正在使用 nodemon 在进行任何更改时重新启动我的节点应用程序。我的问题是每次更改代码后 Web 服务器和数据库服务器都会重新启动。我正在使用 Oracle 数据库。下面是我的 app.js 代码:
const webServer = require('./services/web-server.js');
const database = require('./services/database.js');
const dbConfig = require('./config/database.js');
const defaultThreadPoolSize = 4;
async function startup() {
console.log('Starting application');
//Initializing web server module
try {
console.log('Initializing web server module');
await webServer.initialize();
} catch (err) {
console.error(err);
process.exit(1); // Non-zero failure code
}
//Initializing the Oracle DB
try {
console.log('Initializing database module');
await database.initialize();
} catch (err) {
console.error(err);
process.exit(1); // Non-zero failure code
}
//Stopping Oracle DB
/*try {
console.log('Closing database module');
await database.close();
} catch (err) {
console.log('Encountered error', e);
err = err || e;
}*/
}
startup();
services/web-server.js,我正在创建一个如下所示的 http 服务器:
httpServer = http.createServer(app);
services/database.js,我正在为 Oracle 创建一个池:
const pool = await oracledb.createPool(dbConfig.hrPool);
请建议我如何使用 nodemon 只重启网络服务器?我不希望数据库连接总是重新启动...
您的数据库服务器不会在您每次重新启动节点应用程序时重新启动。
发生的情况是您的节点在每次重新启动时都重新创建与数据库的连接,这是正常的并且无法避免。
您可以通过连接到 Oracle 服务器并在节点应用程序停止时对其进行查询来检查这一点。