fixed data-service apperently
This commit is contained in:
parent
4b552e454c
commit
80c29283da
11 changed files with 106 additions and 92 deletions
|
|
@ -10,7 +10,7 @@ import { initializeServiceConfig } from '@stock-bot/config';
|
|||
import { getLogger, setLoggerConfig, shutdownLoggers } from '@stock-bot/logger';
|
||||
import { createAndConnectMongoDBClient, MongoDBClient } from '@stock-bot/mongodb-client';
|
||||
import { createAndConnectPostgreSQLClient, PostgreSQLClient } from '@stock-bot/postgres-client';
|
||||
import { getQueue, initializeQueueSystem, shutdownAllQueues } from '@stock-bot/queue';
|
||||
import { QueueManager, handlerRegistry, type QueueManagerConfig } from '@stock-bot/queue';
|
||||
import { Shutdown } from '@stock-bot/shutdown';
|
||||
// Local imports
|
||||
import { exchangeRoutes, healthRoutes, queueRoutes } from './routes';
|
||||
|
|
@ -50,7 +50,7 @@ const PORT = serviceConfig.port;
|
|||
let server: ReturnType<typeof Bun.serve> | null = null;
|
||||
let postgresClient: PostgreSQLClient | null = null;
|
||||
let mongoClient: MongoDBClient | null = null;
|
||||
// Queue system will be initialized globally
|
||||
let queueManager: QueueManager | null = null;
|
||||
|
||||
// Initialize shutdown manager
|
||||
const shutdown = Shutdown.getInstance({ timeout: 15000 });
|
||||
|
|
@ -100,14 +100,37 @@ async function initializeServices() {
|
|||
|
||||
// Initialize queue system
|
||||
logger.info('Initializing queue system...');
|
||||
await initializeQueueSystem({
|
||||
const queueManagerConfig: QueueManagerConfig = {
|
||||
redis: queueConfig.redis,
|
||||
defaultJobOptions: queueConfig.defaultJobOptions,
|
||||
workers: 5,
|
||||
concurrency: 20,
|
||||
});
|
||||
defaultQueueOptions: {
|
||||
defaultJobOptions: queueConfig.defaultJobOptions,
|
||||
workers: 5,
|
||||
concurrency: 20,
|
||||
enableMetrics: true,
|
||||
enableDLQ: true,
|
||||
},
|
||||
enableScheduledJobs: true,
|
||||
};
|
||||
|
||||
queueManager = QueueManager.getInstance(queueManagerConfig);
|
||||
await queueManager.initialize();
|
||||
logger.info('Queue system initialized');
|
||||
|
||||
// Initialize providers (register handlers and scheduled jobs)
|
||||
logger.info('Initializing data providers...');
|
||||
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 { initializeWebShareProvider } = await import('./providers/webshare.provider');
|
||||
|
||||
initializeExchangeSyncProvider();
|
||||
initializeIBProvider();
|
||||
initializeProxyProvider();
|
||||
initializeQMProvider();
|
||||
initializeWebShareProvider();
|
||||
logger.info('Data providers initialized');
|
||||
|
||||
logger.info('All services initialized successfully');
|
||||
} catch (error) {
|
||||
logger.error('Failed to initialize services', { error });
|
||||
|
|
@ -144,7 +167,9 @@ shutdown.onShutdown(async () => {
|
|||
shutdown.onShutdown(async () => {
|
||||
logger.info('Shutting down queue system...');
|
||||
try {
|
||||
await shutdownAllQueues();
|
||||
if (queueManager) {
|
||||
await queueManager.shutdown();
|
||||
}
|
||||
logger.info('Queue system shut down');
|
||||
} catch (error) {
|
||||
logger.error('Error shutting down queue system', { error });
|
||||
|
|
@ -183,5 +208,5 @@ startServer().catch(error => {
|
|||
|
||||
logger.info('Data service startup initiated');
|
||||
|
||||
// Export queue functions for providers
|
||||
export { getQueue };
|
||||
// Export queue manager for providers
|
||||
export { queueManager };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue