crystelf-core/src/main.ts

32 lines
910 B
TypeScript

import apps from './core/app';
import logger from './core/utils/system/logger';
import config from './core/utils/system/config';
import redis from './core/services/redis/redis';
import autoUpdater from './core/utils/system/autoUpdater';
import System from './core/utils/system/system';
config.check(['PORT', 'DEBUG', 'RD_PORT', 'RD_ADD', 'WS_SECRET', 'WS_PORT']);
const PORT = config.get('PORT') || 3000;
apps
.createApp()
.then(async (app) => {
app.listen(PORT, () => {
logger.info(`Crystelf-core listening on ${PORT}`);
});
const isUpdated = await autoUpdater.checkForUpdates();
if (isUpdated) {
logger.warn(`检测到更新,正在重启..`);
await System.restart();
}
})
.catch((err) => {
logger.error('Crystelf-core启动失败:', err);
process.exit(1);
});
process.on('SIGTERM', async () => {
await redis.disconnect();
process.exit(0);
});