Files
XCDesktop/remote/src/index.js
2026-03-08 01:34:54 +08:00

38 lines
845 B
JavaScript

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;