atomic-queues 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -35
- package/dist/decorators/constants.d.ts +17 -0
- package/dist/decorators/constants.d.ts.map +1 -0
- package/dist/decorators/constants.js +23 -0
- package/dist/decorators/constants.js.map +1 -0
- package/dist/decorators/entity.decorators.d.ts +88 -0
- package/dist/decorators/entity.decorators.d.ts.map +1 -0
- package/dist/decorators/entity.decorators.js +150 -0
- package/dist/decorators/entity.decorators.js.map +1 -0
- package/dist/decorators/index.d.ts +9 -1
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +9 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/interfaces.d.ts +130 -0
- package/dist/decorators/interfaces.d.ts.map +1 -0
- package/dist/decorators/interfaces.js +3 -0
- package/dist/decorators/interfaces.js.map +1 -0
- package/dist/decorators/job.decorators.d.ts +60 -0
- package/dist/decorators/job.decorators.d.ts.map +1 -0
- package/dist/decorators/job.decorators.js +97 -0
- package/dist/decorators/job.decorators.js.map +1 -0
- package/dist/decorators/legacy.decorators.d.ts +36 -0
- package/dist/decorators/legacy.decorators.d.ts.map +1 -0
- package/dist/decorators/legacy.decorators.js +61 -0
- package/dist/decorators/legacy.decorators.js.map +1 -0
- package/dist/decorators/metadata-readers.d.ts +31 -0
- package/dist/decorators/metadata-readers.d.ts.map +1 -0
- package/dist/decorators/metadata-readers.js +53 -0
- package/dist/decorators/metadata-readers.js.map +1 -0
- package/dist/decorators/registry.d.ts +2 -0
- package/dist/decorators/registry.d.ts.map +1 -0
- package/dist/decorators/registry.js +6 -0
- package/dist/decorators/registry.js.map +1 -0
- package/dist/decorators/scaler.decorators.d.ts +65 -0
- package/dist/decorators/scaler.decorators.d.ts.map +1 -0
- package/dist/decorators/scaler.decorators.js +103 -0
- package/dist/decorators/scaler.decorators.js.map +1 -0
- package/dist/decorators/type-guards.d.ts +18 -0
- package/dist/decorators/type-guards.d.ts.map +1 -0
- package/dist/decorators/type-guards.js +32 -0
- package/dist/decorators/type-guards.js.map +1 -0
- package/dist/decorators/utils.d.ts +20 -0
- package/dist/decorators/utils.d.ts.map +1 -0
- package/dist/decorators/utils.js +98 -0
- package/dist/decorators/utils.js.map +1 -0
- package/dist/decorators/worker.decorators.d.ts +58 -0
- package/dist/decorators/worker.decorators.d.ts.map +1 -0
- package/dist/decorators/worker.decorators.js +92 -0
- package/dist/decorators/worker.decorators.js.map +1 -0
- package/dist/domain/interfaces/config.interfaces.d.ts +188 -0
- package/dist/domain/interfaces/config.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/config.interfaces.js +3 -0
- package/dist/domain/interfaces/config.interfaces.js.map +1 -0
- package/dist/domain/interfaces/cqrs.interfaces.d.ts +7 -0
- package/dist/domain/interfaces/cqrs.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/cqrs.interfaces.js +3 -0
- package/dist/domain/interfaces/cqrs.interfaces.js.map +1 -0
- package/dist/domain/interfaces/event.interfaces.d.ts +71 -0
- package/dist/domain/interfaces/event.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/event.interfaces.js +3 -0
- package/dist/domain/interfaces/event.interfaces.js.map +1 -0
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts +69 -0
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/index-tracking.interfaces.js +3 -0
- package/dist/domain/interfaces/index-tracking.interfaces.js.map +1 -0
- package/dist/domain/interfaces/index.d.ts +12 -0
- package/dist/domain/interfaces/index.d.ts.map +1 -0
- package/dist/domain/interfaces/index.js +28 -0
- package/dist/domain/interfaces/index.js.map +1 -0
- package/dist/domain/interfaces/job.interfaces.d.ts +76 -0
- package/dist/domain/interfaces/job.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/job.interfaces.js +3 -0
- package/dist/domain/interfaces/job.interfaces.js.map +1 -0
- package/dist/domain/interfaces/lock.interfaces.d.ts +54 -0
- package/dist/domain/interfaces/lock.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/lock.interfaces.js +3 -0
- package/dist/domain/interfaces/lock.interfaces.js.map +1 -0
- package/dist/domain/interfaces/process.interfaces.d.ts +44 -0
- package/dist/domain/interfaces/process.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/process.interfaces.js +3 -0
- package/dist/domain/interfaces/process.interfaces.js.map +1 -0
- package/dist/domain/interfaces/queue.interfaces.d.ts +46 -0
- package/dist/domain/interfaces/queue.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/queue.interfaces.js +3 -0
- package/dist/domain/interfaces/queue.interfaces.js.map +1 -0
- package/dist/domain/interfaces/scaling.interfaces.d.ts +62 -0
- package/dist/domain/interfaces/scaling.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/scaling.interfaces.js +3 -0
- package/dist/domain/interfaces/scaling.interfaces.js.map +1 -0
- package/dist/domain/interfaces/utility.types.d.ts +15 -0
- package/dist/domain/interfaces/utility.types.d.ts.map +1 -0
- package/dist/domain/interfaces/utility.types.js +3 -0
- package/dist/domain/interfaces/utility.types.js.map +1 -0
- package/dist/domain/interfaces/worker.interfaces.d.ts +120 -0
- package/dist/domain/interfaces/worker.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/worker.interfaces.js +3 -0
- package/dist/domain/interfaces/worker.interfaces.js.map +1 -0
- package/dist/module/atomic-queues.module.d.ts.map +1 -1
- package/dist/module/atomic-queues.module.js +4 -0
- package/dist/module/atomic-queues.module.js.map +1 -1
- package/dist/services/cron-manager/cron-manager.service.d.ts +5 -4
- package/dist/services/cron-manager/cron-manager.service.d.ts.map +1 -1
- package/dist/services/cron-manager/cron-manager.service.js +26 -57
- package/dist/services/cron-manager/cron-manager.service.js.map +1 -1
- package/dist/services/index-manager/index-manager.service.d.ts +0 -4
- package/dist/services/index-manager/index-manager.service.d.ts.map +1 -1
- package/dist/services/index-manager/index-manager.service.js +4 -16
- package/dist/services/index-manager/index-manager.service.js.map +1 -1
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts +40 -0
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts.map +1 -0
- package/dist/services/processor-discovery/decorator-discovery.service.js +191 -0
- package/dist/services/processor-discovery/decorator-discovery.service.js.map +1 -0
- package/dist/services/processor-discovery/index.d.ts +4 -0
- package/dist/services/processor-discovery/index.d.ts.map +1 -1
- package/dist/services/processor-discovery/index.js +4 -0
- package/dist/services/processor-discovery/index.js.map +1 -1
- package/dist/services/processor-discovery/processor-discovery.service.d.ts +28 -156
- package/dist/services/processor-discovery/processor-discovery.service.d.ts.map +1 -1
- package/dist/services/processor-discovery/processor-discovery.service.js +121 -592
- package/dist/services/processor-discovery/processor-discovery.service.js.map +1 -1
- package/dist/services/processor-discovery/processor-registry.d.ts +58 -0
- package/dist/services/processor-discovery/processor-registry.d.ts.map +1 -0
- package/dist/services/processor-discovery/processor-registry.js +74 -0
- package/dist/services/processor-discovery/processor-registry.js.map +1 -0
- package/dist/services/processor-discovery/scaling-registration.service.d.ts +60 -0
- package/dist/services/processor-discovery/scaling-registration.service.d.ts.map +1 -0
- package/dist/services/processor-discovery/scaling-registration.service.js +261 -0
- package/dist/services/processor-discovery/scaling-registration.service.js.map +1 -0
- package/dist/services/processor-discovery/worker-factory.service.d.ts +54 -0
- package/dist/services/processor-discovery/worker-factory.service.d.ts.map +1 -0
- package/dist/services/processor-discovery/worker-factory.service.js +185 -0
- package/dist/services/processor-discovery/worker-factory.service.js.map +1 -0
- package/dist/services/queue-bus/entity-target.d.ts +58 -0
- package/dist/services/queue-bus/entity-target.d.ts.map +1 -0
- package/dist/services/queue-bus/entity-target.js +109 -0
- package/dist/services/queue-bus/entity-target.js.map +1 -0
- package/dist/services/queue-bus/index.d.ts +4 -0
- package/dist/services/queue-bus/index.d.ts.map +1 -1
- package/dist/services/queue-bus/index.js +4 -0
- package/dist/services/queue-bus/index.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.d.ts +9 -145
- package/dist/services/queue-bus/queue-bus.service.d.ts.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.js +23 -311
- package/dist/services/queue-bus/queue-bus.service.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.types.d.ts +40 -0
- package/dist/services/queue-bus/queue-bus.types.d.ts.map +1 -0
- package/dist/services/queue-bus/queue-bus.types.js +3 -0
- package/dist/services/queue-bus/queue-bus.types.js.map +1 -0
- package/dist/services/queue-bus/queue-bus.utils.d.ts +34 -0
- package/dist/services/queue-bus/queue-bus.utils.d.ts.map +1 -0
- package/dist/services/queue-bus/queue-bus.utils.js +82 -0
- package/dist/services/queue-bus/queue-bus.utils.js.map +1 -0
- package/dist/services/queue-bus/queue-target.d.ts +61 -0
- package/dist/services/queue-bus/queue-target.d.ts.map +1 -0
- package/dist/services/queue-bus/queue-target.js +123 -0
- package/dist/services/queue-bus/queue-target.js.map +1 -0
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts +0 -4
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts.map +1 -1
- package/dist/services/queue-events-manager/queue-events-manager.service.js +3 -15
- package/dist/services/queue-events-manager/queue-events-manager.service.js.map +1 -1
- package/dist/services/resource-lock/resource-lock.service.d.ts +0 -4
- package/dist/services/resource-lock/resource-lock.service.d.ts.map +1 -1
- package/dist/services/resource-lock/resource-lock.service.js +4 -16
- package/dist/services/resource-lock/resource-lock.service.js.map +1 -1
- package/dist/services/service-queue/index.d.ts +1 -0
- package/dist/services/service-queue/index.d.ts.map +1 -1
- package/dist/services/service-queue/index.js +1 -0
- package/dist/services/service-queue/index.js.map +1 -1
- package/dist/services/service-queue/service-queue.service.d.ts +2 -35
- package/dist/services/service-queue/service-queue.service.d.ts.map +1 -1
- package/dist/services/service-queue/service-queue.service.js +17 -49
- package/dist/services/service-queue/service-queue.service.js.map +1 -1
- package/dist/services/service-queue/service-queue.types.d.ts +32 -0
- package/dist/services/service-queue/service-queue.types.d.ts.map +1 -0
- package/dist/services/service-queue/service-queue.types.js +27 -0
- package/dist/services/service-queue/service-queue.types.js.map +1 -0
- package/dist/services/worker-manager/worker-manager.service.d.ts.map +1 -1
- package/dist/services/worker-manager/worker-manager.service.js +2 -1
- package/dist/services/worker-manager/worker-manager.service.js.map +1 -1
- package/dist/utils/async.utils.d.ts +51 -0
- package/dist/utils/async.utils.d.ts.map +1 -0
- package/dist/utils/async.utils.js +87 -0
- package/dist/utils/async.utils.js.map +1 -0
- package/dist/utils/helpers.d.ts +4 -123
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +18 -226
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/job.utils.d.ts +50 -0
- package/dist/utils/job.utils.d.ts.map +1 -0
- package/dist/utils/job.utils.js +89 -0
- package/dist/utils/job.utils.js.map +1 -0
- package/dist/utils/naming.utils.d.ts +21 -0
- package/dist/utils/naming.utils.d.ts.map +1 -0
- package/dist/utils/naming.utils.js +38 -0
- package/dist/utils/naming.utils.js.map +1 -0
- package/dist/utils/rate-limit.utils.d.ts +9 -0
- package/dist/utils/rate-limit.utils.d.ts.map +1 -0
- package/dist/utils/rate-limit.utils.js +30 -0
- package/dist/utils/rate-limit.utils.js.map +1 -0
- package/dist/utils/redis.utils.d.ts +3 -0
- package/dist/utils/redis.utils.d.ts.map +1 -0
- package/dist/utils/redis.utils.js +14 -0
- package/dist/utils/redis.utils.js.map +1 -0
- package/package.json +17 -17
- package/dist/decorators/decorators.d.ts +0 -489
- package/dist/decorators/decorators.d.ts.map +0 -1
- package/dist/decorators/decorators.js +0 -680
- package/dist/decorators/decorators.js.map +0 -1
- package/dist/domain/interfaces.d.ts +0 -748
- package/dist/domain/interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces.js +0 -19
- package/dist/domain/interfaces.js.map +0 -1
|
@@ -1,66 +1,24 @@
|
|
|
1
1
|
import { OnModuleInit, Type } from '@nestjs/common';
|
|
2
|
-
import { ModuleRef, DiscoveryService
|
|
3
|
-
import {
|
|
4
|
-
import { WorkerManagerService } from '../worker-manager';
|
|
5
|
-
import { QueueManagerService } from '../queue-manager';
|
|
6
|
-
import { CronManagerService } from '../cron-manager';
|
|
2
|
+
import { ModuleRef, DiscoveryService } from '@nestjs/core';
|
|
3
|
+
import { ICommandBus, IQueryBus, IAtomicQueuesModuleConfig } from '../../domain';
|
|
7
4
|
import { CommandDiscoveryService } from '../command-discovery';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
interface ICommandBus {
|
|
13
|
-
execute<T>(command: T): Promise<any>;
|
|
14
|
-
}
|
|
15
|
-
interface IQueryBus {
|
|
16
|
-
execute<T>(query: T): Promise<any>;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Registered processor info
|
|
20
|
-
*/
|
|
21
|
-
export interface RegisteredProcessor {
|
|
22
|
-
entityType: string;
|
|
23
|
-
processorInstance: any;
|
|
24
|
-
options: WorkerProcessorOptions;
|
|
25
|
-
jobHandlers: Map<string, {
|
|
26
|
-
method: string;
|
|
27
|
-
isWildcard: boolean;
|
|
28
|
-
}>;
|
|
29
|
-
wildcardHandler?: {
|
|
30
|
-
method: string;
|
|
31
|
-
};
|
|
32
|
-
queueNameFn: (entityId: string) => string;
|
|
33
|
-
workerNameFn: (entityId: string) => string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Registered scaler info
|
|
37
|
-
*/
|
|
38
|
-
export interface RegisteredScaler {
|
|
39
|
-
entityType: string;
|
|
40
|
-
scalerInstance: any;
|
|
41
|
-
options: EntityScalerOptions;
|
|
42
|
-
methods: {
|
|
43
|
-
getActiveEntities?: string;
|
|
44
|
-
getDesiredWorkerCount?: string;
|
|
45
|
-
onSpawnWorker?: string;
|
|
46
|
-
onTerminateWorker?: string;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
5
|
+
import { ProcessorRegistry, RegisteredProcessor, RegisteredScaler } from './processor-registry';
|
|
6
|
+
import { DecoratorDiscoveryService } from './decorator-discovery.service';
|
|
7
|
+
import { WorkerFactoryService } from './worker-factory.service';
|
|
8
|
+
import { ScalingRegistrationService } from './scaling-registration.service';
|
|
49
9
|
/**
|
|
50
10
|
* ProcessorDiscoveryService
|
|
51
11
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* - @EntityScaler - For entity scaling logic
|
|
12
|
+
* Orchestrator that coordinates discovery, registration, worker creation,
|
|
13
|
+
* and scaling setup. Delegates to focused services:
|
|
55
14
|
*
|
|
56
|
-
*
|
|
57
|
-
* -
|
|
58
|
-
* -
|
|
59
|
-
* -
|
|
15
|
+
* - ProcessorRegistry: state management for processors/scalers/workers
|
|
16
|
+
* - DecoratorDiscoveryService: NestJS provider scanning and registration
|
|
17
|
+
* - WorkerFactoryService: worker creation and job processing
|
|
18
|
+
* - ScalingRegistrationService: scaling/spawn registration logic
|
|
60
19
|
*
|
|
61
20
|
* @example
|
|
62
21
|
* ```typescript
|
|
63
|
-
* // Classes are auto-discovered from module providers
|
|
64
22
|
* @WorkerProcessor({ entityType: 'table' })
|
|
65
23
|
* @Injectable()
|
|
66
24
|
* export class TableProcessor {
|
|
@@ -78,23 +36,16 @@ export interface RegisteredScaler {
|
|
|
78
36
|
*/
|
|
79
37
|
export declare class ProcessorDiscoveryService implements OnModuleInit {
|
|
80
38
|
private readonly discoveryService;
|
|
81
|
-
private readonly metadataScanner;
|
|
82
39
|
private readonly moduleRef;
|
|
83
|
-
private readonly
|
|
84
|
-
private readonly
|
|
85
|
-
private readonly
|
|
40
|
+
private readonly registry;
|
|
41
|
+
private readonly decoratorDiscovery;
|
|
42
|
+
private readonly workerFactory;
|
|
43
|
+
private readonly scalingRegistration;
|
|
86
44
|
private readonly commandDiscovery;
|
|
87
|
-
private readonly serviceQueueManager;
|
|
88
|
-
private readonly queueEventsManager;
|
|
89
|
-
private readonly spawnQueueService;
|
|
90
45
|
private readonly config;
|
|
91
46
|
private readonly logger;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
private readonly activeWorkers;
|
|
95
|
-
private commandBus;
|
|
96
|
-
private queryBus;
|
|
97
|
-
constructor(discoveryService: DiscoveryService, metadataScanner: MetadataScanner, moduleRef: ModuleRef, workerManager: WorkerManagerService, queueManager: QueueManagerService, cronManager: CronManagerService, commandDiscovery: CommandDiscoveryService, serviceQueueManager: ServiceQueueManager, queueEventsManager: QueueEventsManagerService, spawnQueueService: SpawnQueueService, config: IAtomicQueuesModuleConfig);
|
|
47
|
+
constructor(discoveryService: DiscoveryService, moduleRef: ModuleRef, registry: ProcessorRegistry, decoratorDiscovery: DecoratorDiscoveryService, workerFactory: WorkerFactoryService, scalingRegistration: ScalingRegistrationService, commandDiscovery: CommandDiscoveryService, config: IAtomicQueuesModuleConfig);
|
|
48
|
+
onModuleInit(): Promise<void>;
|
|
98
49
|
/**
|
|
99
50
|
* Set the CommandBus for executing commands from QueueBus registry
|
|
100
51
|
*/
|
|
@@ -103,124 +54,45 @@ export declare class ProcessorDiscoveryService implements OnModuleInit {
|
|
|
103
54
|
* Set the QueryBus for executing queries from QueueBus registry
|
|
104
55
|
*/
|
|
105
56
|
setQueryBus(queryBus: IQueryBus): void;
|
|
106
|
-
onModuleInit(): Promise<void>;
|
|
107
57
|
/**
|
|
108
58
|
* Attempt to resolve CommandBus and QueryBus from the DI container.
|
|
109
|
-
* This allows config-driven mode to work out of the box when the
|
|
110
|
-
* consuming app imports CqrsModule, without requiring a manual bridge.
|
|
111
59
|
*/
|
|
112
60
|
private autoWireCqrsBuses;
|
|
113
|
-
/**
|
|
114
|
-
* Register entity types from module config `entities` option.
|
|
115
|
-
* This creates virtual processors for entities that don't have explicit @WorkerProcessor classes.
|
|
116
|
-
*
|
|
117
|
-
* Benefits:
|
|
118
|
-
* - No boilerplate @WorkerProcessor class needed
|
|
119
|
-
* - Just configure in module and decorate commands with @QueueEntity
|
|
120
|
-
* - Workers auto-spawn on job arrival and terminate when idle
|
|
121
|
-
*/
|
|
122
|
-
private registerEntitiesFromConfig;
|
|
123
|
-
/**
|
|
124
|
-
* Register processors that don't have an EntityScaler (scalerless mode).
|
|
125
|
-
* These processors will auto-spawn workers when jobs arrive and
|
|
126
|
-
* auto-terminate when idle.
|
|
127
|
-
*
|
|
128
|
-
* When SpawnQueueService is available, this registration is SKIPPED
|
|
129
|
-
* because the spawn queue handles both on-demand worker creation
|
|
130
|
-
* (distributed across pods) and idle cleanup (local sweep).
|
|
131
|
-
* The old CronManager path creates workers eagerly via polling,
|
|
132
|
-
* which defeats the purpose of distributed spawn.
|
|
133
|
-
*/
|
|
134
|
-
private registerScalerlessProcessors;
|
|
135
|
-
/**
|
|
136
|
-
* Register with SpawnQueueService for distributed worker creation.
|
|
137
|
-
* This replaces the cron-based approach: every pod's SpawnQueueService
|
|
138
|
-
* worker can pick up spawn jobs and create entity workers locally.
|
|
139
|
-
*/
|
|
140
|
-
private registerWithSpawnQueue;
|
|
141
|
-
/**
|
|
142
|
-
* Setup QueueEvents listening for job arrivals.
|
|
143
|
-
* This enables automatic worker spawning when jobs are added.
|
|
144
|
-
*/
|
|
145
|
-
private setupQueueEventsListening;
|
|
146
|
-
/**
|
|
147
|
-
* Register spawn worker handler with ServiceQueueManager
|
|
148
|
-
* This allows workers to be spawned on-demand via the service queue.
|
|
149
|
-
* Uses the same logic as scaling cycle - calls scaler's @OnSpawnWorker first,
|
|
150
|
-
* then auto-creates via processor if registered.
|
|
151
|
-
*/
|
|
152
|
-
private registerSpawnWorkerHandler;
|
|
153
61
|
/**
|
|
154
62
|
* Auto-discover and register commands/queries from @nestjs/cqrs handlers
|
|
155
63
|
*/
|
|
156
64
|
private autoRegisterCommandsFromCqrs;
|
|
157
65
|
/**
|
|
158
|
-
*
|
|
66
|
+
* Get registered processor for an entity type
|
|
159
67
|
*/
|
|
160
|
-
|
|
68
|
+
getProcessor(entityType: string): RegisteredProcessor | undefined;
|
|
161
69
|
/**
|
|
162
|
-
*
|
|
70
|
+
* Get registered scaler for an entity type
|
|
163
71
|
*/
|
|
164
|
-
|
|
72
|
+
getScaler(entityType: string): RegisteredScaler | undefined;
|
|
165
73
|
/**
|
|
166
|
-
*
|
|
74
|
+
* Get all registered entity types
|
|
167
75
|
*/
|
|
168
|
-
|
|
76
|
+
getRegisteredEntityTypes(): string[];
|
|
169
77
|
/**
|
|
170
|
-
*
|
|
78
|
+
* Check if a worker exists for an entity
|
|
171
79
|
*/
|
|
172
|
-
|
|
80
|
+
hasActiveWorker(entityType: string, entityId: string): boolean;
|
|
173
81
|
/**
|
|
174
|
-
*
|
|
82
|
+
* Get all active workers for an entity type
|
|
175
83
|
*/
|
|
176
|
-
|
|
84
|
+
getActiveWorkers(entityType: string): string[];
|
|
177
85
|
/**
|
|
178
86
|
* Create a worker for an entity using the registered processor
|
|
179
87
|
*/
|
|
180
88
|
createWorkerForEntity(entityType: string, entityId: string): Promise<void>;
|
|
181
|
-
/**
|
|
182
|
-
* Process a job using the registered handlers
|
|
183
|
-
*
|
|
184
|
-
* Priority order:
|
|
185
|
-
* 1. Explicit @JobHandler on the processor class (if instance exists)
|
|
186
|
-
* 2. Auto-routing via @JobCommand/@JobQuery decorated classes
|
|
187
|
-
* 3. QueueBus registry lookup (class name as job name)
|
|
188
|
-
* 4. Wildcard @JobHandler('*') on the processor class (if instance exists)
|
|
189
|
-
*/
|
|
190
|
-
private processJob;
|
|
191
|
-
/**
|
|
192
|
-
* Execute a command/query from QueueBus registry
|
|
193
|
-
*/
|
|
194
|
-
private executeFromRegistry;
|
|
195
89
|
/**
|
|
196
90
|
* Manually register a processor class
|
|
197
|
-
* Use this when auto-discovery is not available or for dynamic registration
|
|
198
91
|
*/
|
|
199
92
|
registerProcessorClass<T>(processorClass: Type<T>, instance?: T): Promise<void>;
|
|
200
93
|
/**
|
|
201
94
|
* Manually register a scaler class
|
|
202
95
|
*/
|
|
203
96
|
registerScalerClass<T>(scalerClass: Type<T>, instance?: T): Promise<void>;
|
|
204
|
-
/**
|
|
205
|
-
* Get registered processor for an entity type
|
|
206
|
-
*/
|
|
207
|
-
getProcessor(entityType: string): RegisteredProcessor | undefined;
|
|
208
|
-
/**
|
|
209
|
-
* Get registered scaler for an entity type
|
|
210
|
-
*/
|
|
211
|
-
getScaler(entityType: string): RegisteredScaler | undefined;
|
|
212
|
-
/**
|
|
213
|
-
* Get all registered entity types
|
|
214
|
-
*/
|
|
215
|
-
getRegisteredEntityTypes(): string[];
|
|
216
|
-
/**
|
|
217
|
-
* Check if a worker exists for an entity
|
|
218
|
-
*/
|
|
219
|
-
hasActiveWorker(entityType: string, entityId: string): boolean;
|
|
220
|
-
/**
|
|
221
|
-
* Get all active workers for an entity type
|
|
222
|
-
*/
|
|
223
|
-
getActiveWorkers(entityType: string): string[];
|
|
224
97
|
}
|
|
225
|
-
export {};
|
|
226
98
|
//# sourceMappingURL=processor-discovery.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,IAAI,EAGL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"processor-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,IAAI,EAGL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,yBAA0B,YAAW,YAAY;IAI9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAE7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;gBAGtC,gBAAgB,EAAE,gBAAgB,EAC9C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,EAC3B,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,oBAAoB,EACnC,mBAAmB,EAAE,0BAA0B,EACnC,gBAAgB,EAAE,uBAAuB,EAErD,MAAM,EAAE,yBAAyB;IAG9C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BnC;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAO5C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAOtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAcpC;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIjE;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI3D;;OAEG;IACH,wBAAwB,IAAI,MAAM,EAAE;IAIpC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9D;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9C;;OAEG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;IACG,sBAAsB,CAAC,CAAC,EAC5B,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EACvB,QAAQ,CAAC,EAAE,CAAC,GACX,OAAO,CAAC,IAAI,CAAC;IAahB;;OAEG;IACG,mBAAmB,CAAC,CAAC,EACzB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EACpB,QAAQ,CAAC,EAAE,CAAC,GACX,OAAO,CAAC,IAAI,CAAC;CAYjB"}
|