import { getLogger } from '@stock-bot/logger'; import { handlerRegistry, type HandlerConfig, type ScheduledJobConfig } from '@stock-bot/queue'; import { symbolOperations } from './operations'; const logger = getLogger('symbols-handler'); const HANDLER_NAME = 'symbols'; const symbolsHandlerConfig: HandlerConfig = { concurrency: 1, maxAttempts: 3, scheduledJobs: [ { operation: 'sync-qm-symbols', cronPattern: '0 2 * * *', // Daily at 2 AM payload: {}, priority: 5, immediately: false, } as ScheduledJobConfig, { operation: 'sync-symbols-qm', cronPattern: '0 4 * * *', // Daily at 4 AM payload: { provider: 'qm', clearFirst: false }, priority: 5, immediately: false, } as ScheduledJobConfig, ], operations: { 'sync-qm-symbols': symbolOperations.syncQMSymbols, 'sync-symbols-qm': symbolOperations.syncSymbolsFromProvider, 'sync-symbols-eod': symbolOperations.syncSymbolsFromProvider, 'sync-symbols-ib': symbolOperations.syncSymbolsFromProvider, 'sync-status': symbolOperations.getSyncStatus, }, }; export function initializeSymbolsHandler(): void { logger.info('Registering symbols handler...'); handlerRegistry.registerHandler(HANDLER_NAME, symbolsHandlerConfig); logger.info('Symbols handler registered successfully'); }