diff --git a/apps/stock/config/config/default.json b/apps/stock/config/config/default.json index b7bc587..ee0a17b 100644 --- a/apps/stock/config/config/default.json +++ b/apps/stock/config/config/default.json @@ -80,7 +80,6 @@ "workers": 1, "concurrency": 1, "enableScheduledJobs": true, - "delayWorkerStart": true, "defaultJobOptions": { "attempts": 3, "backoff": { diff --git a/apps/stock/web-api/src/index.ts b/apps/stock/web-api/src/index.ts index e7778f9..d6ab51d 100644 --- a/apps/stock/web-api/src/index.ts +++ b/apps/stock/web-api/src/index.ts @@ -17,7 +17,6 @@ if (config.queue) { config.queue.workers = 0; config.queue.concurrency = 0; config.queue.enableScheduledJobs = false; - config.queue.delayWorkerStart = true; } // Log the full configuration diff --git a/libs/core/config/src/schemas/service.schema.ts b/libs/core/config/src/schemas/service.schema.ts index a8db927..73eba6d 100644 --- a/libs/core/config/src/schemas/service.schema.ts +++ b/libs/core/config/src/schemas/service.schema.ts @@ -45,7 +45,6 @@ export const queueConfigSchema = z.object({ workers: z.number().default(1), concurrency: z.number().default(1), enableScheduledJobs: z.boolean().default(true), - delayWorkerStart: z.boolean().default(true), // ServiceApplication handles worker startup defaultJobOptions: z .object({ attempts: z.number().default(3), diff --git a/libs/core/di/src/config/schemas/service.schema.ts b/libs/core/di/src/config/schemas/service.schema.ts index b16fe53..4fa2063 100644 --- a/libs/core/di/src/config/schemas/service.schema.ts +++ b/libs/core/di/src/config/schemas/service.schema.ts @@ -22,7 +22,6 @@ export const queueConfigSchema = z.object({ workers: z.number().optional().default(1), concurrency: z.number().optional().default(1), enableScheduledJobs: z.boolean().optional().default(true), - delayWorkerStart: z.boolean().optional().default(false), defaultJobOptions: z .object({ attempts: z.number().default(3), diff --git a/libs/core/di/src/container/builder.ts b/libs/core/di/src/container/builder.ts index be2255e..5718802 100644 --- a/libs/core/di/src/container/builder.ts +++ b/libs/core/di/src/container/builder.ts @@ -129,7 +129,6 @@ export class ServiceContainerBuilder { workers: 1, concurrency: 1, enableScheduledJobs: true, - delayWorkerStart: false, defaultJobOptions: { attempts: 3, backoff: { type: 'exponential' as const, delay: 1000 }, diff --git a/libs/core/di/src/registrations/service.registration.ts b/libs/core/di/src/registrations/service.registration.ts index 87e4fe1..fed15dc 100644 --- a/libs/core/di/src/registrations/service.registration.ts +++ b/libs/core/di/src/registrations/service.registration.ts @@ -1,6 +1,6 @@ -import { asClass, asFunction, asValue, type AwilixContainer } from 'awilix'; import { Browser } from '@stock-bot/browser'; import { ProxyManager } from '@stock-bot/proxy'; +import { asClass, asFunction, asValue, type AwilixContainer } from 'awilix'; import type { AppConfig } from '../config/schemas'; import type { ServiceDefinitions } from '../container/types'; @@ -76,7 +76,6 @@ export function registerApplicationServices( defaultJobOptions: config.queue!.defaultJobOptions, }, enableScheduledJobs: config.queue!.enableScheduledJobs ?? true, - delayWorkerStart: config.queue!.delayWorkerStart ?? true, // Changed to true so ServiceApplication can start workers autoDiscoverHandlers: true, }; return new QueueManager(queueConfig, handlerRegistry, logger); diff --git a/libs/core/handlers/src/registry/auto-register.ts b/libs/core/handlers/src/registry/auto-register.ts index 3566284..1c14cc1 100644 --- a/libs/core/handlers/src/registry/auto-register.ts +++ b/libs/core/handlers/src/registry/auto-register.ts @@ -124,7 +124,7 @@ export async function autoRegisterHandlers( logger.info(`Registering handler: ${handlerName} from ${relativePath}`); // Create instance - handlers now auto-register via decorators - const handler = new HandlerClass(services); + new HandlerClass(services); registered.push(handlerName); logger.info(`Successfully registered handler: ${handlerName}`, { diff --git a/libs/core/queue/src/queue-manager.ts b/libs/core/queue/src/queue-manager.ts index cfac11e..9c602ea 100644 --- a/libs/core/queue/src/queue-manager.ts +++ b/libs/core/queue/src/queue-manager.ts @@ -150,7 +150,7 @@ export class QueueManager { const queueConfig: QueueWorkerConfig = { workers, concurrency, - startWorker: workers > 0 && !this.config.delayWorkerStart, + startWorker: workers > 0, handlerRegistry: options.handlerRegistry || this.handlerRegistry, serviceName: this.config.serviceName, }; @@ -186,7 +186,7 @@ export class QueueManager { workers: workers, concurrency: concurrency, handlerRegistryProvided: !!this.handlerRegistry, - willStartWorkers: workers > 0 && !this.config.delayWorkerStart, + willStartWorkers: workers > 0, isOwnQueue, serviceName: this.serviceName, }); diff --git a/libs/core/queue/src/types.ts b/libs/core/queue/src/types.ts index df58707..bc2e53b 100644 --- a/libs/core/queue/src/types.ts +++ b/libs/core/queue/src/types.ts @@ -72,7 +72,6 @@ export interface QueueManagerConfig { enableScheduledJobs?: boolean; globalRateLimit?: RateLimitConfig; rateLimitRules?: RateLimitRule[]; // Global rate limit rules - delayWorkerStart?: boolean; // If true, workers won't start automatically serviceName?: string; // For service discovery and namespacing autoDiscoverHandlers?: boolean; // Auto-discover queue routes from handler registry } diff --git a/libs/core/types/src/services.ts b/libs/core/types/src/services.ts index dbda07c..6f668a3 100644 --- a/libs/core/types/src/services.ts +++ b/libs/core/types/src/services.ts @@ -87,7 +87,7 @@ export interface MongoDBClient { disconnect(): Promise; isConnected(): boolean; getDb(dbName?: string): any; // MongoDB Db type - collection(name: string, dbName?: string): any; // MongoDB Collection + collection(name: string, dbName?: string): any; // MongoDB Collection createCollection(name: string, options?: any, dbName?: string): Promise; dropCollection(name: string, dbName?: string): Promise; listCollections(dbName?: string): Promise>;