Initial commit
This commit is contained in:
37
remote/src/index.js
Normal file
37
remote/src/index.js
Normal file
@@ -0,0 +1,37 @@
|
||||
const App = require('./core/App');
|
||||
const { ErrorHandler } = require('./core/ErrorHandler');
|
||||
const logger = require('./utils/logger');
|
||||
|
||||
const errorHandler = new ErrorHandler();
|
||||
errorHandler.initialize();
|
||||
|
||||
const app = new App();
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
await app.bootstrap();
|
||||
await app.start();
|
||||
} catch (error) {
|
||||
logger.error('Failed to start application', { error: error.message, stack: error.stack });
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
async function gracefulShutdown(signal) {
|
||||
if (app.isStarted()) {
|
||||
logger.info(`Received ${signal}, shutting down gracefully`);
|
||||
await app.stop();
|
||||
}
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
process.on('SIGINT', () => gracefulShutdown('SIGINT'));
|
||||
process.on('SIGTERM', () => gracefulShutdown('SIGTERM'));
|
||||
|
||||
process.on('exit', () => {
|
||||
logger.info('Process exiting');
|
||||
});
|
||||
|
||||
main();
|
||||
|
||||
module.exports = app;
|
||||
Reference in New Issue
Block a user