fixed priority shutdown
This commit is contained in:
parent
6d5d746f68
commit
5929612e36
6 changed files with 113 additions and 46 deletions
|
|
@ -132,16 +132,16 @@ async function initializeServices() {
|
|||
// Initialize providers (register handlers and scheduled jobs)
|
||||
logger.debug('Initializing data providers...');
|
||||
const { initializeWebShareProvider } = await import('./providers/webshare.provider');
|
||||
// const { initializeExchangeSyncProvider } = await import('./providers/exchange-sync.provider');
|
||||
// const { initializeIBProvider } = await import('./providers/ib.provider');
|
||||
// const { initializeProxyProvider } = await import('./providers/proxy.provider');
|
||||
// const { initializeQMProvider } = await import('./providers/qm.provider');
|
||||
const { initializeExchangeSyncProvider } = await import('./providers/exchange-sync.provider');
|
||||
const { initializeIBProvider } = await import('./providers/ib.provider');
|
||||
const { initializeProxyProvider } = await import('./providers/proxy.provider');
|
||||
const { initializeQMProvider } = await import('./providers/qm.provider');
|
||||
|
||||
initializeWebShareProvider();
|
||||
// initializeExchangeSyncProvider();
|
||||
// initializeIBProvider();
|
||||
// initializeProxyProvider();
|
||||
// initializeQMProvider();
|
||||
initializeExchangeSyncProvider();
|
||||
initializeIBProvider();
|
||||
initializeProxyProvider();
|
||||
initializeQMProvider();
|
||||
|
||||
logger.info('Data providers initialized');
|
||||
|
||||
|
|
@ -216,20 +216,9 @@ async function startServer() {
|
|||
logger.info(`Data Service started on port ${PORT}`);
|
||||
}
|
||||
|
||||
// Register shutdown handlers
|
||||
shutdown.onShutdown(async () => {
|
||||
if (server) {
|
||||
logger.info('Stopping HTTP server...');
|
||||
try {
|
||||
server.stop();
|
||||
logger.info('HTTP server stopped');
|
||||
} catch (error) {
|
||||
logger.error('Error stopping HTTP server', { error });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
shutdown.onShutdown(async () => {
|
||||
// Register shutdown handlers with priorities
|
||||
// Priority 1: Queue system (highest priority)
|
||||
shutdown.onShutdownHigh(async () => {
|
||||
logger.info('Shutting down queue system...');
|
||||
try {
|
||||
if (queueManager) {
|
||||
|
|
@ -239,9 +228,23 @@ shutdown.onShutdown(async () => {
|
|||
} catch (error) {
|
||||
logger.error('Error shutting down queue system', { error });
|
||||
}
|
||||
});
|
||||
}, 'Queue System');
|
||||
|
||||
shutdown.onShutdown(async () => {
|
||||
// Priority 1: HTTP Server (high priority)
|
||||
shutdown.onShutdownHigh(async () => {
|
||||
if (server) {
|
||||
logger.info('Stopping HTTP server...');
|
||||
try {
|
||||
server.stop();
|
||||
logger.info('HTTP server stopped');
|
||||
} catch (error) {
|
||||
logger.error('Error stopping HTTP server', { error });
|
||||
}
|
||||
}
|
||||
}, 'HTTP Server');
|
||||
|
||||
// Priority 2: Database connections (medium priority)
|
||||
shutdown.onShutdownMedium(async () => {
|
||||
logger.info('Disconnecting from databases...');
|
||||
try {
|
||||
const { disconnectMongoDB } = await import('@stock-bot/mongodb-client');
|
||||
|
|
@ -253,10 +256,10 @@ shutdown.onShutdown(async () => {
|
|||
} catch (error) {
|
||||
logger.error('Error closing database connections', { error });
|
||||
}
|
||||
});
|
||||
}, 'Databases');
|
||||
|
||||
// Logger shutdown - registered last so it runs after all other shutdown operations
|
||||
shutdown.onShutdown(async () => {
|
||||
// Priority 3: Logger shutdown (lowest priority - runs last)
|
||||
shutdown.onShutdownLow(async () => {
|
||||
try {
|
||||
logger.info('Shutting down loggers...');
|
||||
await shutdownLoggers();
|
||||
|
|
@ -264,7 +267,7 @@ shutdown.onShutdown(async () => {
|
|||
} catch {
|
||||
// Silently ignore logger shutdown errors
|
||||
}
|
||||
});
|
||||
}, 'Loggers');
|
||||
|
||||
// Start the service
|
||||
startServer().catch(error => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue