refactoring handlers

This commit is contained in:
Boki 2025-06-21 10:33:03 -04:00
parent 59ab0940ae
commit ab0b7a5385
12 changed files with 1098 additions and 25 deletions

View file

@ -4,31 +4,31 @@ import {
handlerRegistry,
type HandlerConfigWithSchedule
} from '@stock-bot/queue';
import type { SymbolSpiderJob } from './qm.operations';
import type { SymbolSpiderJob } from './shared/types';
const logger = getLogger('qm-provider');
const handlerLogger = getLogger('qm-handler');
// Initialize and register the QM provider
export function initializeQMProvider() {
logger.debug('Registering QM provider with scheduled jobs...');
handlerLogger.debug('Registering QM provider with scheduled jobs...');
const qmProviderConfig: HandlerConfigWithSchedule = {
name: 'qm',
operations: {
'create-sessions': createJobHandler(async () => {
logger.debug('Creating QM sessions...');
const { createSessions } = await import('./qm.operations');
await createSessions();
logger.debug('QM sessions created successfully');
handlerLogger.debug('Creating QM sessions...');
const { createSessions } = await import('./operations/session.operations');
await createSessions(handlerLogger);
handlerLogger.debug('QM sessions created successfully');
return { success: true, message: 'QM sessions created successfully' };
}),
'search-symbols': createJobHandler(async () => {
logger.info('Starting QM symbol search...');
const { fetchSymbols } = await import('./qm.operations');
const symbols = await fetchSymbols();
handlerLogger.info('Starting QM symbol search...');
const { fetchSymbols } = await import('./operations/symbols.operations');
const symbols = await fetchSymbols(handlerLogger);
if (symbols && symbols.length > 0) {
logger.info('QM symbol search completed successfully', { count: symbols.length });
handlerLogger.info('QM symbol search completed successfully', { count: symbols.length });
return {
success: true,
message: 'QM symbol search completed successfully',
@ -36,7 +36,7 @@ export function initializeQMProvider() {
symbols: symbols.slice(0, 10), // Return first 10 symbols as sample
};
} else {
logger.warn('QM symbol search returned no results');
handlerLogger.warn('QM symbol search returned no results');
return {
success: false,
message: 'No symbols found',
@ -45,11 +45,11 @@ export function initializeQMProvider() {
}
}),
'spider-symbol-search': createJobHandler(async (payload: SymbolSpiderJob) => {
logger.debug('Processing spider symbol search job', { payload });
const { spiderSymbolSearch } = await import('./qm.operations');
const result = await spiderSymbolSearch(payload);
handlerLogger.debug('Processing spider symbol search job', { payload });
const { spiderSymbolSearch } = await import('./operations/spider.operations');
const result = await spiderSymbolSearch(payload, handlerLogger);
logger.debug('Spider search job completed', {
handlerLogger.debug('Spider search job completed', {
success: result.success,
symbolsFound: result.symbolsFound,
});
@ -85,5 +85,5 @@ export function initializeQMProvider() {
};
handlerRegistry.registerWithSchedule(qmProviderConfig);
logger.debug('IB provider registered successfully with scheduled jobs');
handlerLogger.debug('QM provider registered successfully with scheduled jobs');
}