Files
2026-07-15 22:49:51 +08:00

37 lines
895 B
JavaScript

const wsUtils = require('./src/ws-utils');
const { setupWSConnection } = wsUtils;
const config = require('./src/config');
const redis = require('./src/redis');
const grpc = require('./src/grpc');
const mq = require('./src/mq');
const { createHTTPServer } = require('./src/http/server');
const { bindWebSocketGateway } = require('./src/ws-gateway');
const { startServer } = require('./src/bootstrap');
const { createGracefulShutdown, registerShutdownSignals } = require('./src/lifecycle');
let isDraining = false;
const server = createHTTPServer({
redis,
wsUtils,
getIsDraining: () => isDraining
});
const wss = bindWebSocketGateway({
server,
redis,
setupWSConnection
});
startServer({ server, config, redis, grpc });
const shutdown = createGracefulShutdown({
server,
wss,
mq,
redis,
onDraining: () => {
isDraining = true;
}
});
registerShutdownSignals(shutdown);