added logging

This commit is contained in:
Boki 2025-06-23 14:36:47 -04:00
parent d76f0ff5ff
commit 5c87f068d6
10 changed files with 38 additions and 16 deletions

View file

@ -77,8 +77,8 @@
"port": 6379,
"db": 1
},
"workers": 2,
"concurrency": 2,
"workers": 1,
"concurrency": 1,
"enableScheduledJobs": true,
"delayWorkerStart": false,
"defaultJobOptions": {
@ -111,8 +111,13 @@
"timeout": 30000
},
"proxy": {
"enabled": true,
"cachePrefix": "proxy:",
"ttl": 3600
"ttl": 3600,
"webshare": {
"apiKey": "y8ay534rcbybdkk3evnzmt640xxfhy7252ce2t98",
"apiUrl": "https://proxy.webshare.io/api/v2/"
}
},
"providers": {
"yahoo": {

View file

@ -98,7 +98,7 @@ export async function processIndividualSymbol(
await this.scheduleOperation('process-individual-symbol', {
ceoId: ceoId,
timestamp: latestSpielTime,
}, {priority: 1});
}, {priority: 0});
}
this.logger.info(

View file

@ -34,7 +34,7 @@ export async function updateUniqueSymbols(
await this.scheduleOperation('process-individual-symbol', {
ceoId: symbol.ceoId,
symbol: symbol.symbol,
});
}, {priority: 10 });
scheduledJobs++;
// Add small delay to avoid overwhelming the queue

View file

@ -16,6 +16,9 @@ import { createRoutes } from './routes/create-routes';
// Initialize configuration with service-specific overrides
const config = initializeStockConfig('dataIngestion');
// Log the full configuration
const logger = getLogger('data-ingestion');
logger.info('Service configuration:', config);
// Create service application
const app = new ServiceApplication(

View file

@ -15,6 +15,9 @@ import { setupServiceContainer } from './container-setup';
// Initialize configuration with service-specific overrides
const config = initializeStockConfig('dataPipeline');
// Log the full configuration
const logger = getLogger('data-pipeline');
logger.info('Service configuration:', config);
// Create service application
const app = new ServiceApplication(

View file

@ -21,7 +21,9 @@ if (config.queue) {
config.queue.delayWorkerStart = true;
}
// Log the full configuration
const logger = getLogger('web-api');
logger.info('Service configuration:', config);
// Create service application
const app = new ServiceApplication(

View file

@ -213,7 +213,7 @@ services: # Dragonfly - Redis replacement for caching and events
- REDIS_HOST=dragonfly
- REDIS_PORT=6379
- REDIS_PASSWORD=
- REDIS_DB=0
- REDIS_DB=1
- REDIS_URL=redis://dragonfly:6379
depends_on:
- dragonfly

View file

@ -86,22 +86,30 @@ export function findServiceForHandler(handlerName: string): string | undefined {
}
/**
* Get full queue name with service namespace
* Get full queue name - just the handler name since each service has its own Redis DB
*/
export function getFullQueueName(serviceName: string, handlerName: string): string {
return `${serviceName}_${handlerName}`;
// Just return the handler name since DB isolation provides namespace separation
return handlerName;
}
/**
* Parse a full queue name into service and handler
* Since queue names are just handler names now, we need to find the service from the handler
*/
export function parseQueueName(fullQueueName: string): { service: string; handler: string } | null {
const parts = fullQueueName.split('_');
if (parts.length !== 2 || !parts[0] || !parts[1]) {
// Queue name is just the handler name now
const handlerName = fullQueueName;
// Find which service owns this handler
const serviceName = findServiceForHandler(handlerName);
if (!serviceName) {
return null;
}
return {
service: parts[0],
handler: parts[1],
service: serviceName,
handler: handlerName,
};
}

View file

@ -212,7 +212,7 @@ export class SmartQueueManager extends QueueManager {
* Resolve a queue name to a route
*/
private resolveQueueRoute(queueName: string): QueueRoute | null {
// Check if it's a full name (service_handler)
// Check if it's a handler name (which is now the full queue name)
const parsed = parseQueueName(queueName);
if (parsed) {
const config = getServiceConfig(parsed.service);
@ -253,7 +253,8 @@ export class SmartQueueManager extends QueueManager {
private getProducerQueue(route: QueueRoute): BullQueue {
if (!this.producerQueues.has(route.fullName)) {
const connection = this.getConnection(route.db);
const queue = new BullQueue(route.fullName, {
// Match the queue name format used by workers: {queueName}
const queue = new BullQueue(`{${route.fullName}}`, {
connection,
defaultJobOptions: this.getConfig().defaultQueueOptions?.defaultJobOptions || {},
});

View file

@ -175,7 +175,7 @@ export interface SmartQueueConfig extends QueueManagerConfig {
}
export interface QueueRoute {
/** Full queue name (e.g., 'data-ingestion_ceo') */
/** Full queue name (now just the handler name, e.g., 'ceo') */
fullName: string;
/** Service that owns this queue */
service: string;