atomic-queues 1.6.1 → 2.0.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 +182 -411
- package/dist/cli/generators/json-schema.d.ts +3 -0
- package/dist/cli/generators/json-schema.d.ts.map +1 -0
- package/dist/cli/generators/json-schema.js +31 -0
- package/dist/cli/generators/json-schema.js.map +1 -0
- package/dist/cli/generators/typescript.d.ts +3 -0
- package/dist/cli/generators/typescript.d.ts.map +1 -0
- package/dist/cli/generators/typescript.js +62 -0
- package/dist/cli/generators/typescript.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +156 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/decorators/actor.decorators.d.ts +4 -0
- package/dist/decorators/actor.decorators.d.ts.map +1 -0
- package/dist/decorators/actor.decorators.js +32 -0
- package/dist/decorators/actor.decorators.js.map +1 -0
- package/dist/decorators/constants.d.ts +5 -12
- package/dist/decorators/constants.d.ts.map +1 -1
- package/dist/decorators/constants.js +10 -16
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/index.d.ts +4 -4
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +4 -4
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/interfaces.d.ts +18 -78
- package/dist/decorators/interfaces.d.ts.map +1 -1
- package/dist/decorators/metadata-readers.d.ts +5 -26
- package/dist/decorators/metadata-readers.d.ts.map +1 -1
- package/dist/decorators/metadata-readers.js +16 -33
- package/dist/decorators/metadata-readers.js.map +1 -1
- package/dist/decorators/schema.decorators.d.ts +2 -0
- package/dist/decorators/schema.decorators.d.ts.map +1 -0
- package/dist/decorators/schema.decorators.js +13 -0
- package/dist/decorators/schema.decorators.js.map +1 -0
- package/dist/domain/interfaces/config.interfaces.d.ts +52 -153
- package/dist/domain/interfaces/config.interfaces.d.ts.map +1 -1
- package/dist/domain/interfaces/index.d.ts +0 -7
- package/dist/domain/interfaces/index.d.ts.map +1 -1
- package/dist/domain/interfaces/index.js +0 -7
- package/dist/domain/interfaces/index.js.map +1 -1
- package/dist/domain/interfaces/job.interfaces.d.ts +32 -65
- package/dist/domain/interfaces/job.interfaces.d.ts.map +1 -1
- package/dist/index.d.ts +0 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -39
- package/dist/index.js.map +1 -1
- package/dist/module/atomic-queues.module.d.ts +0 -83
- package/dist/module/atomic-queues.module.d.ts.map +1 -1
- package/dist/module/atomic-queues.module.js +35 -134
- package/dist/module/atomic-queues.module.js.map +1 -1
- package/dist/services/actor-registry/actor-registry.service.d.ts +30 -0
- package/dist/services/actor-registry/actor-registry.service.d.ts.map +1 -0
- package/dist/services/actor-registry/actor-registry.service.js +186 -0
- package/dist/services/actor-registry/actor-registry.service.js.map +1 -0
- package/dist/services/actor-registry/index.d.ts +2 -0
- package/dist/services/actor-registry/index.d.ts.map +1 -0
- package/dist/services/actor-registry/index.js +18 -0
- package/dist/services/actor-registry/index.js.map +1 -0
- package/dist/services/actor-system/actor-system.service.d.ts +19 -0
- package/dist/services/actor-system/actor-system.service.d.ts.map +1 -0
- package/dist/services/actor-system/actor-system.service.js +86 -0
- package/dist/services/actor-system/actor-system.service.js.map +1 -0
- package/dist/services/actor-system/index.d.ts +2 -0
- package/dist/services/actor-system/index.d.ts.map +1 -0
- package/dist/services/{cron-manager → actor-system}/index.js +1 -1
- package/dist/services/actor-system/index.js.map +1 -0
- package/dist/services/command-discovery/command-discovery.service.d.ts +6 -53
- package/dist/services/command-discovery/command-discovery.service.d.ts.map +1 -1
- package/dist/services/command-discovery/command-discovery.service.js +0 -59
- package/dist/services/command-discovery/command-discovery.service.js.map +1 -1
- package/dist/services/constants.d.ts +2 -9
- package/dist/services/constants.d.ts.map +1 -1
- package/dist/services/constants.js +3 -10
- package/dist/services/constants.js.map +1 -1
- package/dist/services/executor-pool/executor-pool.service.d.ts +31 -0
- package/dist/services/executor-pool/executor-pool.service.d.ts.map +1 -0
- package/dist/services/executor-pool/executor-pool.service.js +147 -0
- package/dist/services/executor-pool/executor-pool.service.js.map +1 -0
- package/dist/services/executor-pool/index.d.ts +2 -0
- package/dist/services/executor-pool/index.d.ts.map +1 -0
- package/dist/services/{queue-manager → executor-pool}/index.js +1 -1
- package/dist/services/executor-pool/index.js.map +1 -0
- package/dist/services/gate/gate.service.d.ts +17 -0
- package/dist/services/gate/gate.service.d.ts.map +1 -0
- package/dist/services/gate/gate.service.js +66 -0
- package/dist/services/gate/gate.service.js.map +1 -0
- package/dist/services/gate/index.d.ts +2 -0
- package/dist/services/gate/index.d.ts.map +1 -0
- package/dist/services/{spawn-queue → gate}/index.js +1 -1
- package/dist/services/gate/index.js.map +1 -0
- package/dist/services/handler-executor/handler-executor.service.d.ts +32 -0
- package/dist/services/handler-executor/handler-executor.service.d.ts.map +1 -0
- package/dist/services/handler-executor/handler-executor.service.js +186 -0
- package/dist/services/handler-executor/handler-executor.service.js.map +1 -0
- package/dist/services/handler-executor/index.d.ts +2 -0
- package/dist/services/handler-executor/index.d.ts.map +1 -0
- package/dist/services/handler-executor/index.js +18 -0
- package/dist/services/handler-executor/index.js.map +1 -0
- package/dist/services/index.d.ts +11 -12
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +11 -12
- package/dist/services/index.js.map +1 -1
- package/dist/services/log/index.d.ts +2 -0
- package/dist/services/log/index.d.ts.map +1 -0
- package/dist/services/{index-manager → log}/index.js +1 -1
- package/dist/services/log/index.js.map +1 -0
- package/dist/services/log/log.service.d.ts +21 -0
- package/dist/services/log/log.service.d.ts.map +1 -0
- package/dist/services/log/log.service.js +92 -0
- package/dist/services/log/log.service.js.map +1 -0
- package/dist/services/queue-bus/index.d.ts +0 -4
- package/dist/services/queue-bus/index.d.ts.map +1 -1
- package/dist/services/queue-bus/index.js +0 -4
- package/dist/services/queue-bus/index.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.d.ts +44 -198
- package/dist/services/queue-bus/queue-bus.service.d.ts.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.js +103 -259
- package/dist/services/queue-bus/queue-bus.service.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.utils.d.ts +0 -28
- package/dist/services/queue-bus/queue-bus.utils.d.ts.map +1 -1
- package/dist/services/queue-bus/queue-bus.utils.js +1 -41
- package/dist/services/queue-bus/queue-bus.utils.js.map +1 -1
- package/dist/services/registry/index.d.ts +4 -0
- package/dist/services/registry/index.d.ts.map +1 -0
- package/dist/services/{queue-events-manager → registry}/index.js +3 -1
- package/dist/services/registry/index.js.map +1 -0
- package/dist/services/registry/registry.service.d.ts +43 -0
- package/dist/services/registry/registry.service.d.ts.map +1 -0
- package/dist/services/registry/registry.service.js +379 -0
- package/dist/services/registry/registry.service.js.map +1 -0
- package/dist/services/registry/registry.types.d.ts +24 -0
- package/dist/services/registry/registry.types.d.ts.map +1 -0
- package/dist/{domain/interfaces/lock.interfaces.js → services/registry/registry.types.js} +1 -1
- package/dist/services/registry/registry.types.js.map +1 -0
- package/dist/services/registry/schema-converter.d.ts +2 -0
- package/dist/services/registry/schema-converter.d.ts.map +1 -0
- package/dist/services/registry/schema-converter.js +27 -0
- package/dist/services/registry/schema-converter.js.map +1 -0
- package/dist/services/result-collector/index.d.ts +2 -0
- package/dist/services/result-collector/index.d.ts.map +1 -0
- package/dist/services/result-collector/index.js +18 -0
- package/dist/services/result-collector/index.js.map +1 -0
- package/dist/services/result-collector/result-collector.service.d.ts +17 -0
- package/dist/services/result-collector/result-collector.service.d.ts.map +1 -0
- package/dist/services/result-collector/result-collector.service.js +92 -0
- package/dist/services/result-collector/result-collector.service.js.map +1 -0
- package/dist/services/scheduler/index.d.ts +2 -0
- package/dist/services/scheduler/index.d.ts.map +1 -0
- package/dist/services/{job-processor → scheduler}/index.js +1 -1
- package/dist/services/scheduler/index.js.map +1 -0
- package/dist/services/scheduler/scheduler.service.d.ts +17 -0
- package/dist/services/scheduler/scheduler.service.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler.service.js +116 -0
- package/dist/services/scheduler/scheduler.service.js.map +1 -0
- package/dist/services/shutdown/index.d.ts +2 -0
- package/dist/services/shutdown/index.d.ts.map +1 -0
- package/dist/services/shutdown/index.js +18 -0
- package/dist/services/shutdown/index.js.map +1 -0
- package/dist/services/shutdown/shutdown.service.d.ts +8 -0
- package/dist/services/shutdown/shutdown.service.d.ts.map +1 -0
- package/dist/services/shutdown/shutdown.service.js +29 -0
- package/dist/services/shutdown/shutdown.service.js.map +1 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/naming.utils.d.ts +0 -16
- package/dist/utils/naming.utils.d.ts.map +1 -1
- package/dist/utils/naming.utils.js +0 -29
- package/dist/utils/naming.utils.js.map +1 -1
- package/package.json +19 -11
- package/dist/decorators/legacy.decorators.d.ts +0 -36
- package/dist/decorators/legacy.decorators.d.ts.map +0 -1
- package/dist/decorators/legacy.decorators.js +0 -61
- package/dist/decorators/legacy.decorators.js.map +0 -1
- package/dist/decorators/scaler.decorators.d.ts +0 -65
- package/dist/decorators/scaler.decorators.d.ts.map +0 -1
- package/dist/decorators/scaler.decorators.js +0 -103
- package/dist/decorators/scaler.decorators.js.map +0 -1
- package/dist/decorators/type-guards.d.ts +0 -18
- package/dist/decorators/type-guards.d.ts.map +0 -1
- package/dist/decorators/type-guards.js +0 -32
- package/dist/decorators/type-guards.js.map +0 -1
- package/dist/decorators/worker.decorators.d.ts +0 -58
- package/dist/decorators/worker.decorators.d.ts.map +0 -1
- package/dist/decorators/worker.decorators.js +0 -92
- package/dist/decorators/worker.decorators.js.map +0 -1
- package/dist/domain/interfaces/event.interfaces.d.ts +0 -71
- package/dist/domain/interfaces/event.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/event.interfaces.js +0 -3
- package/dist/domain/interfaces/event.interfaces.js.map +0 -1
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts +0 -69
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/index-tracking.interfaces.js +0 -3
- package/dist/domain/interfaces/index-tracking.interfaces.js.map +0 -1
- package/dist/domain/interfaces/lock.interfaces.d.ts +0 -54
- package/dist/domain/interfaces/lock.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/lock.interfaces.js.map +0 -1
- package/dist/domain/interfaces/process.interfaces.d.ts +0 -44
- package/dist/domain/interfaces/process.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/process.interfaces.js +0 -3
- package/dist/domain/interfaces/process.interfaces.js.map +0 -1
- package/dist/domain/interfaces/queue.interfaces.d.ts +0 -46
- package/dist/domain/interfaces/queue.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/queue.interfaces.js +0 -3
- package/dist/domain/interfaces/queue.interfaces.js.map +0 -1
- package/dist/domain/interfaces/scaling.interfaces.d.ts +0 -62
- package/dist/domain/interfaces/scaling.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/scaling.interfaces.js +0 -3
- package/dist/domain/interfaces/scaling.interfaces.js.map +0 -1
- package/dist/domain/interfaces/worker.interfaces.d.ts +0 -120
- package/dist/domain/interfaces/worker.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/worker.interfaces.js +0 -3
- package/dist/domain/interfaces/worker.interfaces.js.map +0 -1
- package/dist/services/cron-manager/cron-manager.service.d.ts +0 -199
- package/dist/services/cron-manager/cron-manager.service.d.ts.map +0 -1
- package/dist/services/cron-manager/cron-manager.service.js +0 -583
- package/dist/services/cron-manager/cron-manager.service.js.map +0 -1
- package/dist/services/cron-manager/index.d.ts +0 -2
- package/dist/services/cron-manager/index.d.ts.map +0 -1
- package/dist/services/cron-manager/index.js.map +0 -1
- package/dist/services/index-manager/index-manager.service.d.ts +0 -142
- package/dist/services/index-manager/index-manager.service.d.ts.map +0 -1
- package/dist/services/index-manager/index-manager.service.js +0 -325
- package/dist/services/index-manager/index-manager.service.js.map +0 -1
- package/dist/services/index-manager/index.d.ts +0 -2
- package/dist/services/index-manager/index.d.ts.map +0 -1
- package/dist/services/index-manager/index.js.map +0 -1
- package/dist/services/job-processor/index.d.ts +0 -2
- package/dist/services/job-processor/index.d.ts.map +0 -1
- package/dist/services/job-processor/index.js.map +0 -1
- package/dist/services/job-processor/job-processor.service.d.ts +0 -156
- package/dist/services/job-processor/job-processor.service.d.ts.map +0 -1
- package/dist/services/job-processor/job-processor.service.js +0 -331
- package/dist/services/job-processor/job-processor.service.js.map +0 -1
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts +0 -40
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/decorator-discovery.service.js +0 -191
- package/dist/services/processor-discovery/decorator-discovery.service.js.map +0 -1
- package/dist/services/processor-discovery/index.d.ts +0 -6
- package/dist/services/processor-discovery/index.d.ts.map +0 -1
- package/dist/services/processor-discovery/index.js +0 -22
- package/dist/services/processor-discovery/index.js.map +0 -1
- package/dist/services/processor-discovery/processor-discovery.service.d.ts +0 -98
- package/dist/services/processor-discovery/processor-discovery.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/processor-discovery.service.js +0 -258
- package/dist/services/processor-discovery/processor-discovery.service.js.map +0 -1
- package/dist/services/processor-discovery/processor-registry.d.ts +0 -58
- package/dist/services/processor-discovery/processor-registry.d.ts.map +0 -1
- package/dist/services/processor-discovery/processor-registry.js +0 -74
- package/dist/services/processor-discovery/processor-registry.js.map +0 -1
- package/dist/services/processor-discovery/scaling-registration.service.d.ts +0 -60
- package/dist/services/processor-discovery/scaling-registration.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/scaling-registration.service.js +0 -261
- package/dist/services/processor-discovery/scaling-registration.service.js.map +0 -1
- package/dist/services/processor-discovery/worker-factory.service.d.ts +0 -54
- package/dist/services/processor-discovery/worker-factory.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/worker-factory.service.js +0 -185
- package/dist/services/processor-discovery/worker-factory.service.js.map +0 -1
- package/dist/services/queue-bus/entity-target.d.ts +0 -58
- package/dist/services/queue-bus/entity-target.d.ts.map +0 -1
- package/dist/services/queue-bus/entity-target.js +0 -109
- package/dist/services/queue-bus/entity-target.js.map +0 -1
- package/dist/services/queue-bus/queue-bus.types.d.ts +0 -40
- package/dist/services/queue-bus/queue-bus.types.d.ts.map +0 -1
- package/dist/services/queue-bus/queue-bus.types.js +0 -3
- package/dist/services/queue-bus/queue-bus.types.js.map +0 -1
- package/dist/services/queue-bus/queue-target.d.ts +0 -61
- package/dist/services/queue-bus/queue-target.d.ts.map +0 -1
- package/dist/services/queue-bus/queue-target.js +0 -123
- package/dist/services/queue-bus/queue-target.js.map +0 -1
- package/dist/services/queue-events-manager/index.d.ts +0 -2
- package/dist/services/queue-events-manager/index.d.ts.map +0 -1
- package/dist/services/queue-events-manager/index.js.map +0 -1
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts +0 -120
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts.map +0 -1
- package/dist/services/queue-events-manager/queue-events-manager.service.js +0 -343
- package/dist/services/queue-events-manager/queue-events-manager.service.js.map +0 -1
- package/dist/services/queue-manager/index.d.ts +0 -2
- package/dist/services/queue-manager/index.d.ts.map +0 -1
- package/dist/services/queue-manager/index.js.map +0 -1
- package/dist/services/queue-manager/queue-manager.service.d.ts +0 -148
- package/dist/services/queue-manager/queue-manager.service.d.ts.map +0 -1
- package/dist/services/queue-manager/queue-manager.service.js +0 -348
- package/dist/services/queue-manager/queue-manager.service.js.map +0 -1
- package/dist/services/resource-lock/index.d.ts +0 -2
- package/dist/services/resource-lock/index.d.ts.map +0 -1
- package/dist/services/resource-lock/index.js +0 -18
- package/dist/services/resource-lock/index.js.map +0 -1
- package/dist/services/resource-lock/resource-lock.service.d.ts +0 -120
- package/dist/services/resource-lock/resource-lock.service.d.ts.map +0 -1
- package/dist/services/resource-lock/resource-lock.service.js +0 -367
- package/dist/services/resource-lock/resource-lock.service.js.map +0 -1
- package/dist/services/service-queue/index.d.ts +0 -3
- package/dist/services/service-queue/index.d.ts.map +0 -1
- package/dist/services/service-queue/index.js +0 -19
- package/dist/services/service-queue/index.js.map +0 -1
- package/dist/services/service-queue/service-queue.service.d.ts +0 -199
- package/dist/services/service-queue/service-queue.service.d.ts.map +0 -1
- package/dist/services/service-queue/service-queue.service.js +0 -617
- package/dist/services/service-queue/service-queue.service.js.map +0 -1
- package/dist/services/service-queue/service-queue.types.d.ts +0 -32
- package/dist/services/service-queue/service-queue.types.d.ts.map +0 -1
- package/dist/services/service-queue/service-queue.types.js +0 -27
- package/dist/services/service-queue/service-queue.types.js.map +0 -1
- package/dist/services/shutdown-state/index.d.ts +0 -2
- package/dist/services/shutdown-state/index.d.ts.map +0 -1
- package/dist/services/shutdown-state/index.js +0 -18
- package/dist/services/shutdown-state/index.js.map +0 -1
- package/dist/services/shutdown-state/shutdown-state.service.d.ts +0 -69
- package/dist/services/shutdown-state/shutdown-state.service.d.ts.map +0 -1
- package/dist/services/shutdown-state/shutdown-state.service.js +0 -127
- package/dist/services/shutdown-state/shutdown-state.service.js.map +0 -1
- package/dist/services/spawn-queue/index.d.ts +0 -2
- package/dist/services/spawn-queue/index.d.ts.map +0 -1
- package/dist/services/spawn-queue/index.js.map +0 -1
- package/dist/services/spawn-queue/spawn-queue.service.d.ts +0 -119
- package/dist/services/spawn-queue/spawn-queue.service.d.ts.map +0 -1
- package/dist/services/spawn-queue/spawn-queue.service.js +0 -273
- package/dist/services/spawn-queue/spawn-queue.service.js.map +0 -1
- package/dist/services/worker-manager/index.d.ts +0 -2
- package/dist/services/worker-manager/index.d.ts.map +0 -1
- package/dist/services/worker-manager/index.js +0 -18
- package/dist/services/worker-manager/index.js.map +0 -1
- package/dist/services/worker-manager/worker-manager.service.d.ts +0 -221
- package/dist/services/worker-manager/worker-manager.service.d.ts.map +0 -1
- package/dist/services/worker-manager/worker-manager.service.js +0 -591
- package/dist/services/worker-manager/worker-manager.service.js.map +0 -1
- package/dist/utils/helpers.d.ts +0 -5
- package/dist/utils/helpers.d.ts.map +0 -1
- package/dist/utils/helpers.js +0 -21
- package/dist/utils/helpers.js.map +0 -1
- package/dist/utils/job.utils.d.ts +0 -50
- package/dist/utils/job.utils.d.ts.map +0 -1
- package/dist/utils/job.utils.js +0 -89
- package/dist/utils/job.utils.js.map +0 -1
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { OnModuleInit, Type } from '@nestjs/common';
|
|
2
|
-
import { ModuleRef, DiscoveryService } from '@nestjs/core';
|
|
3
|
-
import { ICommandBus, IQueryBus, IAtomicQueuesModuleConfig } from '../../domain';
|
|
4
|
-
import { CommandDiscoveryService } from '../command-discovery';
|
|
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';
|
|
9
|
-
/**
|
|
10
|
-
* ProcessorDiscoveryService
|
|
11
|
-
*
|
|
12
|
-
* Orchestrator that coordinates discovery, registration, worker creation,
|
|
13
|
-
* and scaling setup. Delegates to focused services:
|
|
14
|
-
*
|
|
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
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```typescript
|
|
22
|
-
* @WorkerProcessor({ entityType: 'table' })
|
|
23
|
-
* @Injectable()
|
|
24
|
-
* export class TableProcessor {
|
|
25
|
-
* @JobHandler('make-bet')
|
|
26
|
-
* async handleMakeBet(job: Job, entityId: string) { ... }
|
|
27
|
-
* }
|
|
28
|
-
*
|
|
29
|
-
* @EntityScaler({ entityType: 'table' })
|
|
30
|
-
* @Injectable()
|
|
31
|
-
* export class TableScaler {
|
|
32
|
-
* @GetActiveEntities()
|
|
33
|
-
* async getAllTables() { ... }
|
|
34
|
-
* }
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export declare class ProcessorDiscoveryService implements OnModuleInit {
|
|
38
|
-
private readonly discoveryService;
|
|
39
|
-
private readonly moduleRef;
|
|
40
|
-
private readonly registry;
|
|
41
|
-
private readonly decoratorDiscovery;
|
|
42
|
-
private readonly workerFactory;
|
|
43
|
-
private readonly scalingRegistration;
|
|
44
|
-
private readonly commandDiscovery;
|
|
45
|
-
private readonly config;
|
|
46
|
-
private readonly logger;
|
|
47
|
-
constructor(discoveryService: DiscoveryService, moduleRef: ModuleRef, registry: ProcessorRegistry, decoratorDiscovery: DecoratorDiscoveryService, workerFactory: WorkerFactoryService, scalingRegistration: ScalingRegistrationService, commandDiscovery: CommandDiscoveryService, config: IAtomicQueuesModuleConfig);
|
|
48
|
-
onModuleInit(): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Set the CommandBus for executing commands from QueueBus registry
|
|
51
|
-
*/
|
|
52
|
-
setCommandBus(commandBus: ICommandBus): void;
|
|
53
|
-
/**
|
|
54
|
-
* Set the QueryBus for executing queries from QueueBus registry
|
|
55
|
-
*/
|
|
56
|
-
setQueryBus(queryBus: IQueryBus): void;
|
|
57
|
-
/**
|
|
58
|
-
* Attempt to resolve CommandBus and QueryBus from the DI container.
|
|
59
|
-
*/
|
|
60
|
-
private autoWireCqrsBuses;
|
|
61
|
-
/**
|
|
62
|
-
* Auto-discover and register commands/queries from @nestjs/cqrs handlers
|
|
63
|
-
*/
|
|
64
|
-
private autoRegisterCommandsFromCqrs;
|
|
65
|
-
/**
|
|
66
|
-
* Get registered processor for an entity type
|
|
67
|
-
*/
|
|
68
|
-
getProcessor(entityType: string): RegisteredProcessor | undefined;
|
|
69
|
-
/**
|
|
70
|
-
* Get registered scaler for an entity type
|
|
71
|
-
*/
|
|
72
|
-
getScaler(entityType: string): RegisteredScaler | undefined;
|
|
73
|
-
/**
|
|
74
|
-
* Get all registered entity types
|
|
75
|
-
*/
|
|
76
|
-
getRegisteredEntityTypes(): string[];
|
|
77
|
-
/**
|
|
78
|
-
* Check if a worker exists for an entity
|
|
79
|
-
*/
|
|
80
|
-
hasActiveWorker(entityType: string, entityId: string): boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Get all active workers for an entity type
|
|
83
|
-
*/
|
|
84
|
-
getActiveWorkers(entityType: string): string[];
|
|
85
|
-
/**
|
|
86
|
-
* Create a worker for an entity using the registered processor
|
|
87
|
-
*/
|
|
88
|
-
createWorkerForEntity(entityType: string, entityId: string): Promise<void>;
|
|
89
|
-
/**
|
|
90
|
-
* Manually register a processor class
|
|
91
|
-
*/
|
|
92
|
-
registerProcessorClass<T>(processorClass: Type<T>, instance?: T): Promise<void>;
|
|
93
|
-
/**
|
|
94
|
-
* Manually register a scaler class
|
|
95
|
-
*/
|
|
96
|
-
registerScalerClass<T>(scalerClass: Type<T>, instance?: T): Promise<void>;
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=processor-discovery.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
-
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
-
};
|
|
44
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
45
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
46
|
-
};
|
|
47
|
-
var ProcessorDiscoveryService_1;
|
|
48
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.ProcessorDiscoveryService = void 0;
|
|
50
|
-
const common_1 = require("@nestjs/common");
|
|
51
|
-
const core_1 = require("@nestjs/core");
|
|
52
|
-
const command_discovery_1 = require("../command-discovery");
|
|
53
|
-
const queue_bus_1 = require("../queue-bus");
|
|
54
|
-
const constants_1 = require("../constants");
|
|
55
|
-
const processor_registry_1 = require("./processor-registry");
|
|
56
|
-
const decorator_discovery_service_1 = require("./decorator-discovery.service");
|
|
57
|
-
const worker_factory_service_1 = require("./worker-factory.service");
|
|
58
|
-
const scaling_registration_service_1 = require("./scaling-registration.service");
|
|
59
|
-
/**
|
|
60
|
-
* ProcessorDiscoveryService
|
|
61
|
-
*
|
|
62
|
-
* Orchestrator that coordinates discovery, registration, worker creation,
|
|
63
|
-
* and scaling setup. Delegates to focused services:
|
|
64
|
-
*
|
|
65
|
-
* - ProcessorRegistry: state management for processors/scalers/workers
|
|
66
|
-
* - DecoratorDiscoveryService: NestJS provider scanning and registration
|
|
67
|
-
* - WorkerFactoryService: worker creation and job processing
|
|
68
|
-
* - ScalingRegistrationService: scaling/spawn registration logic
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* @WorkerProcessor({ entityType: 'table' })
|
|
73
|
-
* @Injectable()
|
|
74
|
-
* export class TableProcessor {
|
|
75
|
-
* @JobHandler('make-bet')
|
|
76
|
-
* async handleMakeBet(job: Job, entityId: string) { ... }
|
|
77
|
-
* }
|
|
78
|
-
*
|
|
79
|
-
* @EntityScaler({ entityType: 'table' })
|
|
80
|
-
* @Injectable()
|
|
81
|
-
* export class TableScaler {
|
|
82
|
-
* @GetActiveEntities()
|
|
83
|
-
* async getAllTables() { ... }
|
|
84
|
-
* }
|
|
85
|
-
* ```
|
|
86
|
-
*/
|
|
87
|
-
let ProcessorDiscoveryService = ProcessorDiscoveryService_1 = class ProcessorDiscoveryService {
|
|
88
|
-
constructor(discoveryService, moduleRef, registry, decoratorDiscovery, workerFactory, scalingRegistration, commandDiscovery, config) {
|
|
89
|
-
this.discoveryService = discoveryService;
|
|
90
|
-
this.moduleRef = moduleRef;
|
|
91
|
-
this.registry = registry;
|
|
92
|
-
this.decoratorDiscovery = decoratorDiscovery;
|
|
93
|
-
this.workerFactory = workerFactory;
|
|
94
|
-
this.scalingRegistration = scalingRegistration;
|
|
95
|
-
this.commandDiscovery = commandDiscovery;
|
|
96
|
-
this.config = config;
|
|
97
|
-
this.logger = new common_1.Logger(ProcessorDiscoveryService_1.name);
|
|
98
|
-
}
|
|
99
|
-
async onModuleInit() {
|
|
100
|
-
if (!this.discoveryService) {
|
|
101
|
-
this.logger.warn('DiscoveryService not available. Manual registration required.');
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
// Phase 1: Discovery and registration
|
|
105
|
-
this.decoratorDiscovery.discoverProcessors(this.registry);
|
|
106
|
-
this.decoratorDiscovery.discoverScalers(this.registry);
|
|
107
|
-
this.decoratorDiscovery.registerEntitiesFromConfig(this.registry);
|
|
108
|
-
// Phase 2: Wire up worker factory
|
|
109
|
-
this.workerFactory.setRegistry(this.registry);
|
|
110
|
-
// Phase 3: Register all scaling handlers
|
|
111
|
-
await this.scalingRegistration.registerAll(this.registry, this.workerFactory);
|
|
112
|
-
// Phase 4: CQRS auto-wiring
|
|
113
|
-
if (this.config.autoRegisterCommands !== false) {
|
|
114
|
-
this.autoRegisterCommandsFromCqrs();
|
|
115
|
-
}
|
|
116
|
-
this.autoWireCqrsBuses();
|
|
117
|
-
}
|
|
118
|
-
// ==========================================================================
|
|
119
|
-
// CQRS WIRING
|
|
120
|
-
// ==========================================================================
|
|
121
|
-
/**
|
|
122
|
-
* Set the CommandBus for executing commands from QueueBus registry
|
|
123
|
-
*/
|
|
124
|
-
setCommandBus(commandBus) {
|
|
125
|
-
this.workerFactory.setCommandBus(commandBus);
|
|
126
|
-
if (this.commandDiscovery) {
|
|
127
|
-
this.commandDiscovery.setCommandBus(commandBus);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Set the QueryBus for executing queries from QueueBus registry
|
|
132
|
-
*/
|
|
133
|
-
setQueryBus(queryBus) {
|
|
134
|
-
this.workerFactory.setQueryBus(queryBus);
|
|
135
|
-
if (this.commandDiscovery) {
|
|
136
|
-
this.commandDiscovery.setQueryBus(queryBus);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Attempt to resolve CommandBus and QueryBus from the DI container.
|
|
141
|
-
*/
|
|
142
|
-
autoWireCqrsBuses() {
|
|
143
|
-
if (!this.discoveryService)
|
|
144
|
-
return;
|
|
145
|
-
const providers = this.discoveryService.getProviders();
|
|
146
|
-
const commandBusWrapper = providers.find((w) => w.metatype?.name === 'CommandBus' && w.instance);
|
|
147
|
-
if (commandBusWrapper?.instance) {
|
|
148
|
-
this.setCommandBus(commandBusWrapper.instance);
|
|
149
|
-
this.logger.log('Auto-wired CommandBus from @nestjs/cqrs');
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
this.logger.debug('CommandBus not found in DI container. ' +
|
|
153
|
-
'Import CqrsModule in your app or call setCommandBus() manually.');
|
|
154
|
-
}
|
|
155
|
-
const queryBusWrapper = providers.find((w) => w.metatype?.name === 'QueryBus' && w.instance);
|
|
156
|
-
if (queryBusWrapper?.instance) {
|
|
157
|
-
this.setQueryBus(queryBusWrapper.instance);
|
|
158
|
-
this.logger.log('Auto-wired QueryBus from @nestjs/cqrs');
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
this.logger.debug('QueryBus not found in DI container. ' +
|
|
162
|
-
'Import CqrsModule in your app or call setQueryBus() manually.');
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Auto-discover and register commands/queries from @nestjs/cqrs handlers
|
|
167
|
-
*/
|
|
168
|
-
autoRegisterCommandsFromCqrs() {
|
|
169
|
-
const { commands, queries } = queue_bus_1.QueueBus.discoverFromCqrs(this.discoveryService);
|
|
170
|
-
if (commands > 0 || queries > 0) {
|
|
171
|
-
this.logger.log(`Auto-registered ${commands} commands and ${queries} queries from CQRS handlers`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
// ==========================================================================
|
|
175
|
-
// PUBLIC API — Delegated to Registry
|
|
176
|
-
// ==========================================================================
|
|
177
|
-
/**
|
|
178
|
-
* Get registered processor for an entity type
|
|
179
|
-
*/
|
|
180
|
-
getProcessor(entityType) {
|
|
181
|
-
return this.registry.getProcessor(entityType);
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Get registered scaler for an entity type
|
|
185
|
-
*/
|
|
186
|
-
getScaler(entityType) {
|
|
187
|
-
return this.registry.getScaler(entityType);
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Get all registered entity types
|
|
191
|
-
*/
|
|
192
|
-
getRegisteredEntityTypes() {
|
|
193
|
-
return this.registry.getRegisteredEntityTypes();
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Check if a worker exists for an entity
|
|
197
|
-
*/
|
|
198
|
-
hasActiveWorker(entityType, entityId) {
|
|
199
|
-
return this.registry.hasActiveWorker(entityType, entityId);
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Get all active workers for an entity type
|
|
203
|
-
*/
|
|
204
|
-
getActiveWorkers(entityType) {
|
|
205
|
-
return this.registry.getActiveWorkers(entityType);
|
|
206
|
-
}
|
|
207
|
-
// ==========================================================================
|
|
208
|
-
// PUBLIC API — Delegated to WorkerFactory
|
|
209
|
-
// ==========================================================================
|
|
210
|
-
/**
|
|
211
|
-
* Create a worker for an entity using the registered processor
|
|
212
|
-
*/
|
|
213
|
-
async createWorkerForEntity(entityType, entityId) {
|
|
214
|
-
return this.workerFactory.createWorkerForEntity(entityType, entityId);
|
|
215
|
-
}
|
|
216
|
-
// ==========================================================================
|
|
217
|
-
// PUBLIC API — Manual Registration (Delegated to DecoratorDiscovery)
|
|
218
|
-
// ==========================================================================
|
|
219
|
-
/**
|
|
220
|
-
* Manually register a processor class
|
|
221
|
-
*/
|
|
222
|
-
async registerProcessorClass(processorClass, instance) {
|
|
223
|
-
const { getWorkerProcessorMetadata } = await Promise.resolve().then(() => __importStar(require('../../decorators')));
|
|
224
|
-
const options = getWorkerProcessorMetadata(processorClass);
|
|
225
|
-
if (!options) {
|
|
226
|
-
throw new Error(`Class ${processorClass.name} is not decorated with @WorkerProcessor`);
|
|
227
|
-
}
|
|
228
|
-
const resolvedInstance = instance || this.moduleRef.get(processorClass, { strict: false });
|
|
229
|
-
this.decoratorDiscovery.registerProcessor(this.registry, processorClass, resolvedInstance, options);
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Manually register a scaler class
|
|
233
|
-
*/
|
|
234
|
-
async registerScalerClass(scalerClass, instance) {
|
|
235
|
-
const { getEntityScalerMetadata } = await Promise.resolve().then(() => __importStar(require('../../decorators')));
|
|
236
|
-
const options = getEntityScalerMetadata(scalerClass);
|
|
237
|
-
if (!options) {
|
|
238
|
-
throw new Error(`Class ${scalerClass.name} is not decorated with @EntityScaler`);
|
|
239
|
-
}
|
|
240
|
-
const resolvedInstance = instance || this.moduleRef.get(scalerClass, { strict: false });
|
|
241
|
-
this.decoratorDiscovery.registerScaler(this.registry, scalerClass, resolvedInstance, options);
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
exports.ProcessorDiscoveryService = ProcessorDiscoveryService;
|
|
245
|
-
exports.ProcessorDiscoveryService = ProcessorDiscoveryService = ProcessorDiscoveryService_1 = __decorate([
|
|
246
|
-
(0, common_1.Injectable)(),
|
|
247
|
-
__param(0, (0, common_1.Optional)()),
|
|
248
|
-
__param(6, (0, common_1.Optional)()),
|
|
249
|
-
__param(7, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_CONFIG)),
|
|
250
|
-
__metadata("design:paramtypes", [core_1.DiscoveryService,
|
|
251
|
-
core_1.ModuleRef,
|
|
252
|
-
processor_registry_1.ProcessorRegistry,
|
|
253
|
-
decorator_discovery_service_1.DecoratorDiscoveryService,
|
|
254
|
-
worker_factory_service_1.WorkerFactoryService,
|
|
255
|
-
scaling_registration_service_1.ScalingRegistrationService,
|
|
256
|
-
command_discovery_1.CommandDiscoveryService, Object])
|
|
257
|
-
], ProcessorDiscoveryService);
|
|
258
|
-
//# sourceMappingURL=processor-discovery.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processor-discovery.service.js","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,uCAA2D;AAE3D,4DAA+D;AAC/D,4CAAwC;AACxC,4CAAoD;AACpD,6DAAgG;AAChG,+EAA0E;AAC1E,qEAAgE;AAChE,iFAA4E;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEI,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IAGpC,YACc,gBAAmD,EAC9C,SAAoB,EACpB,QAA2B,EAC3B,kBAA6C,EAC7C,aAAmC,EACnC,mBAA+C,EACpD,gBAA0D,EAEtE,MAAkD;QARrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC9C,cAAS,GAAT,SAAS,CAAW;QACpB,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,uBAAkB,GAAlB,kBAAkB,CAA2B;QAC7C,kBAAa,GAAb,aAAa,CAAsB;QACnC,wBAAmB,GAAnB,mBAAmB,CAA4B;QACnC,qBAAgB,GAAhB,gBAAgB,CAAyB;QAErD,WAAM,GAAN,MAAM,CAA2B;QAXnC,WAAM,GAAG,IAAI,eAAM,CAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IAYlE,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+DAA+D,CAChE,CAAC;YACF,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,kCAAkC;QAClC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9C,yCAAyC;QACzC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9E,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,6EAA6E;IAC7E,cAAc;IACd,6EAA6E;IAE7E;;OAEG;IACH,aAAa,CAAC,UAAuB;QACnC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAmB;QAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAEvD,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,QAAQ,CACvD,CAAC;QACF,IAAI,iBAAiB,EAAE,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAuB,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wCAAwC;gBACtC,iEAAiE,CACpE,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,CACrD,CAAC;QACF,IAAI,eAAe,EAAE,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAqB,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sCAAsC;gBACpC,+DAA+D,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,4BAA4B;QAClC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/E,IAAI,QAAQ,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,mBAAmB,QAAQ,iBAAiB,OAAO,6BAA6B,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,qCAAqC;IACrC,6EAA6E;IAE7E;;OAEG;IACH,YAAY,CAAC,UAAkB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,UAAkB,EAAE,QAAgB;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,6EAA6E;IAC7E,0CAA0C;IAC1C,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,UAAkB,EAClB,QAAgB;QAEhB,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,6EAA6E;IAC7E,qEAAqE;IACrE,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,cAAuB,EACvB,QAAY;QAEZ,MAAM,EAAE,0BAA0B,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QACxE,MAAM,OAAO,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,SAAS,cAAc,CAAC,IAAI,yCAAyC,CACtE,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACtG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAoB,EACpB,QAAY;QAEZ,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QACrE,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,SAAS,WAAW,CAAC,IAAI,sCAAsC,CAChE,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAChG,CAAC;CACF,CAAA;AA/MY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAMV,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,gCAAoB,CAAC,CAAA;qCAPkB,uBAAgB;QACnC,gBAAS;QACV,sCAAiB;QACP,uDAAyB;QAC9B,6CAAoB;QACd,yDAA0B;QACjB,2CAAuB;GAV7D,yBAAyB,CA+MrC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { WorkerProcessorOptions, EntityScalerOptions } from '../../decorators';
|
|
2
|
-
/**
|
|
3
|
-
* Registered processor info
|
|
4
|
-
*/
|
|
5
|
-
export interface RegisteredProcessor {
|
|
6
|
-
entityType: string;
|
|
7
|
-
processorInstance: any;
|
|
8
|
-
options: WorkerProcessorOptions;
|
|
9
|
-
jobHandlers: Map<string, {
|
|
10
|
-
method: string;
|
|
11
|
-
isWildcard: boolean;
|
|
12
|
-
}>;
|
|
13
|
-
wildcardHandler?: {
|
|
14
|
-
method: string;
|
|
15
|
-
};
|
|
16
|
-
queueNameFn: (entityId: string) => string;
|
|
17
|
-
workerNameFn: (entityId: string) => string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Registered scaler info
|
|
21
|
-
*/
|
|
22
|
-
export interface RegisteredScaler {
|
|
23
|
-
entityType: string;
|
|
24
|
-
scalerInstance: any;
|
|
25
|
-
options: EntityScalerOptions;
|
|
26
|
-
methods: {
|
|
27
|
-
getActiveEntities?: string;
|
|
28
|
-
getDesiredWorkerCount?: string;
|
|
29
|
-
onSpawnWorker?: string;
|
|
30
|
-
onTerminateWorker?: string;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* ProcessorRegistry
|
|
35
|
-
*
|
|
36
|
-
* Holds the state (Maps) for processors, scalers, and active workers.
|
|
37
|
-
* Provides CRUD operations for these registrations.
|
|
38
|
-
*/
|
|
39
|
-
export declare class ProcessorRegistry {
|
|
40
|
-
private readonly logger;
|
|
41
|
-
private readonly processors;
|
|
42
|
-
private readonly scalers;
|
|
43
|
-
private readonly activeWorkers;
|
|
44
|
-
addProcessor(entityType: string, processor: RegisteredProcessor): void;
|
|
45
|
-
getProcessor(entityType: string): RegisteredProcessor | undefined;
|
|
46
|
-
hasProcessor(entityType: string): boolean;
|
|
47
|
-
getAllProcessors(): Map<string, RegisteredProcessor>;
|
|
48
|
-
addScaler(entityType: string, scaler: RegisteredScaler): void;
|
|
49
|
-
getScaler(entityType: string): RegisteredScaler | undefined;
|
|
50
|
-
hasScaler(entityType: string): boolean;
|
|
51
|
-
getAllScalers(): Map<string, RegisteredScaler>;
|
|
52
|
-
addActiveWorker(entityType: string, entityId: string): void;
|
|
53
|
-
removeActiveWorker(entityType: string, entityId: string): void;
|
|
54
|
-
hasActiveWorker(entityType: string, entityId: string): boolean;
|
|
55
|
-
getActiveWorkers(entityType: string): string[];
|
|
56
|
-
getRegisteredEntityTypes(): string[];
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=processor-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processor-registry.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,GAAG,CAAC;IACvB,OAAO,EAAE,sBAAsB,CAAC;IAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAClE,eAAe,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,EAAE;QACP,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;;;;GAKG;AACH,qBACa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+C;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IAIrE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAKtE,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIjE,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIzC,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAMpD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAI7D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI3D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAItC,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAM9C,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3D,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9D,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9D,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAM9C,wBAAwB,IAAI,MAAM,EAAE;CAKrC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var ProcessorRegistry_1;
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ProcessorRegistry = void 0;
|
|
11
|
-
const common_1 = require("@nestjs/common");
|
|
12
|
-
/**
|
|
13
|
-
* ProcessorRegistry
|
|
14
|
-
*
|
|
15
|
-
* Holds the state (Maps) for processors, scalers, and active workers.
|
|
16
|
-
* Provides CRUD operations for these registrations.
|
|
17
|
-
*/
|
|
18
|
-
let ProcessorRegistry = ProcessorRegistry_1 = class ProcessorRegistry {
|
|
19
|
-
constructor() {
|
|
20
|
-
this.logger = new common_1.Logger(ProcessorRegistry_1.name);
|
|
21
|
-
this.processors = new Map();
|
|
22
|
-
this.scalers = new Map();
|
|
23
|
-
this.activeWorkers = new Map();
|
|
24
|
-
}
|
|
25
|
-
// ---- Processors ----
|
|
26
|
-
addProcessor(entityType, processor) {
|
|
27
|
-
this.processors.set(entityType, processor);
|
|
28
|
-
this.activeWorkers.set(entityType, new Set());
|
|
29
|
-
}
|
|
30
|
-
getProcessor(entityType) {
|
|
31
|
-
return this.processors.get(entityType);
|
|
32
|
-
}
|
|
33
|
-
hasProcessor(entityType) {
|
|
34
|
-
return this.processors.has(entityType);
|
|
35
|
-
}
|
|
36
|
-
getAllProcessors() {
|
|
37
|
-
return this.processors;
|
|
38
|
-
}
|
|
39
|
-
// ---- Scalers ----
|
|
40
|
-
addScaler(entityType, scaler) {
|
|
41
|
-
this.scalers.set(entityType, scaler);
|
|
42
|
-
}
|
|
43
|
-
getScaler(entityType) {
|
|
44
|
-
return this.scalers.get(entityType);
|
|
45
|
-
}
|
|
46
|
-
hasScaler(entityType) {
|
|
47
|
-
return this.scalers.has(entityType);
|
|
48
|
-
}
|
|
49
|
-
getAllScalers() {
|
|
50
|
-
return this.scalers;
|
|
51
|
-
}
|
|
52
|
-
// ---- Active Workers ----
|
|
53
|
-
addActiveWorker(entityType, entityId) {
|
|
54
|
-
this.activeWorkers.get(entityType)?.add(entityId);
|
|
55
|
-
}
|
|
56
|
-
removeActiveWorker(entityType, entityId) {
|
|
57
|
-
this.activeWorkers.get(entityType)?.delete(entityId);
|
|
58
|
-
}
|
|
59
|
-
hasActiveWorker(entityType, entityId) {
|
|
60
|
-
return this.activeWorkers.get(entityType)?.has(entityId) ?? false;
|
|
61
|
-
}
|
|
62
|
-
getActiveWorkers(entityType) {
|
|
63
|
-
return Array.from(this.activeWorkers.get(entityType) || []);
|
|
64
|
-
}
|
|
65
|
-
// ---- Aggregate ----
|
|
66
|
-
getRegisteredEntityTypes() {
|
|
67
|
-
return Array.from(new Set([...this.processors.keys(), ...this.scalers.keys()]));
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
exports.ProcessorRegistry = ProcessorRegistry;
|
|
71
|
-
exports.ProcessorRegistry = ProcessorRegistry = ProcessorRegistry_1 = __decorate([
|
|
72
|
-
(0, common_1.Injectable)()
|
|
73
|
-
], ProcessorRegistry);
|
|
74
|
-
//# sourceMappingURL=processor-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processor-registry.js","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-registry.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AA+BpD;;;;;GAKG;AAEI,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAAvB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,eAAU,GAAqC,IAAI,GAAG,EAAE,CAAC;QACzD,YAAO,GAAkC,IAAI,GAAG,EAAE,CAAC;QACnD,kBAAa,GAA6B,IAAI,GAAG,EAAE,CAAC;IAgEvE,CAAC;IA9DC,uBAAuB;IAEvB,YAAY,CAAC,UAAkB,EAAE,SAA8B;QAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,oBAAoB;IAEpB,SAAS,CAAC,UAAkB,EAAE,MAAwB;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,2BAA2B;IAE3B,eAAe,CAAC,UAAkB,EAAE,QAAgB;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QACrD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,QAAgB;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IACpE,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,sBAAsB;IAEtB,wBAAwB;QACtB,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;CACF,CAAA;AApEY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAoE7B"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { IAtomicQueuesModuleConfig } from '../../domain';
|
|
2
|
-
import { WorkerManagerService } from '../worker-manager';
|
|
3
|
-
import { QueueManagerService } from '../queue-manager';
|
|
4
|
-
import { CronManagerService } from '../cron-manager';
|
|
5
|
-
import { ServiceQueueManager } from '../service-queue';
|
|
6
|
-
import { QueueEventsManagerService } from '../queue-events-manager';
|
|
7
|
-
import { SpawnQueueService } from '../spawn-queue';
|
|
8
|
-
import { ProcessorRegistry } from './processor-registry';
|
|
9
|
-
import { WorkerFactoryService } from './worker-factory.service';
|
|
10
|
-
/**
|
|
11
|
-
* ScalingRegistrationService
|
|
12
|
-
*
|
|
13
|
-
* Handles all scaling/spawn registration logic:
|
|
14
|
-
* - Registering scalers with CronManager
|
|
15
|
-
* - Registering scalerless processors for auto-spawn
|
|
16
|
-
* - Registering with SpawnQueueService for distributed worker creation
|
|
17
|
-
* - Setting up spawn worker handlers with ServiceQueueManager
|
|
18
|
-
* - Setting up QueueEvents listening for job arrivals
|
|
19
|
-
*/
|
|
20
|
-
export declare class ScalingRegistrationService {
|
|
21
|
-
private readonly workerManager;
|
|
22
|
-
private readonly queueManager;
|
|
23
|
-
private readonly cronManager;
|
|
24
|
-
private readonly serviceQueueManager;
|
|
25
|
-
private readonly queueEventsManager;
|
|
26
|
-
private readonly spawnQueueService;
|
|
27
|
-
private readonly config;
|
|
28
|
-
private readonly logger;
|
|
29
|
-
constructor(workerManager: WorkerManagerService, queueManager: QueueManagerService, cronManager: CronManagerService, serviceQueueManager: ServiceQueueManager, queueEventsManager: QueueEventsManagerService, spawnQueueService: SpawnQueueService, config: IAtomicQueuesModuleConfig);
|
|
30
|
-
/**
|
|
31
|
-
* Register all scaling-related handlers.
|
|
32
|
-
* Called by the orchestrator during module init.
|
|
33
|
-
*/
|
|
34
|
-
registerAll(registry: ProcessorRegistry, workerFactory: WorkerFactoryService): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Register scalers with CronManager for automatic scaling
|
|
37
|
-
*/
|
|
38
|
-
private registerScalersWithCronManager;
|
|
39
|
-
/**
|
|
40
|
-
* Register processors that don't have an EntityScaler (scalerless mode).
|
|
41
|
-
*
|
|
42
|
-
* When SpawnQueueService is available, this registration is SKIPPED
|
|
43
|
-
* because the spawn queue handles both on-demand worker creation
|
|
44
|
-
* (distributed across pods) and idle cleanup (local sweep).
|
|
45
|
-
*/
|
|
46
|
-
private registerScalerlessProcessors;
|
|
47
|
-
/**
|
|
48
|
-
* Register with SpawnQueueService for distributed worker creation.
|
|
49
|
-
*/
|
|
50
|
-
private registerWithSpawnQueue;
|
|
51
|
-
/**
|
|
52
|
-
* Setup QueueEvents listening for job arrivals.
|
|
53
|
-
*/
|
|
54
|
-
private setupQueueEventsListening;
|
|
55
|
-
/**
|
|
56
|
-
* Register spawn worker handler with ServiceQueueManager.
|
|
57
|
-
*/
|
|
58
|
-
private registerSpawnWorkerHandler;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=scaling-registration.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scaling-registration.service.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/scaling-registration.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwB,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;;;;;GASG;AACH,qBACa,0BAA0B;IAInC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IACjB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAE9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAGnD,aAAa,EAAE,oBAAoB,EACnC,YAAY,EAAE,mBAAmB,EACrB,WAAW,EAAE,kBAAkB,EAC/B,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,yBAAyB,EAC7C,iBAAiB,EAAE,iBAAiB,EAEhD,MAAM,EAAE,yBAAyB;IAGpD;;;OAGG;IACG,WAAW,CACf,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;YACW,8BAA8B;IAwE5C;;;;;;OAMG;YACW,4BAA4B;IA2D1C;;OAEG;YACW,sBAAsB;IAiDpC;;OAEG;YACW,yBAAyB;IAwCvC;;OAEG;YACW,0BAA0B;CAiCzC"}
|