atomic-queues 1.6.2 → 2.0.1
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 +273 -413
- 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
|
@@ -14,9 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./queue-bus.types"), exports);
|
|
18
|
-
__exportStar(require("./queue-bus.utils"), exports);
|
|
19
|
-
__exportStar(require("./queue-target"), exports);
|
|
20
|
-
__exportStar(require("./entity-target"), exports);
|
|
21
17
|
__exportStar(require("./queue-bus.service"), exports);
|
|
22
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/queue-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/queue-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
|
|
@@ -1,213 +1,59 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { EntityTarget } from './entity-target';
|
|
9
|
-
/**
|
|
10
|
-
* QueueBus
|
|
11
|
-
*
|
|
12
|
-
* A bus that works like CommandBus/QueryBus but instead of executing
|
|
13
|
-
* commands/queries directly, it adds them to a BullMQ queue for
|
|
14
|
-
* async processing by a worker.
|
|
15
|
-
*
|
|
16
|
-
* Key Features:
|
|
17
|
-
* - No decorators needed on commands/queries
|
|
18
|
-
* - Job name = class name (MakeBetCommand)
|
|
19
|
-
* - Worker looks up class by name and instantiates from job.data
|
|
20
|
-
* - Works with @nestjs/cqrs CommandBus/QueryBus on worker side
|
|
21
|
-
* - Fluent API: queueBus.forProcessor(Processor).enqueue(command)
|
|
22
|
-
* - Zero-boilerplate API: queueBus.forEntity('type').enqueue(command)
|
|
23
|
-
* - Direct routing: queueBus.enqueue(command) with @EntityType decorator
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* // Option 1: With @WorkerProcessor class (full control)
|
|
28
|
-
* await this.queueBus
|
|
29
|
-
* .forProcessor(TableWorkerProcessor)
|
|
30
|
-
* .enqueue(new MakeBetCommand(tableId, bets, player));
|
|
31
|
-
*
|
|
32
|
-
* // Option 2: With entity type (zero boilerplate)
|
|
33
|
-
* await this.queueBus
|
|
34
|
-
* .forEntity('table')
|
|
35
|
-
* .enqueue(new MakeBetCommand(tableId, bets, player));
|
|
36
|
-
*
|
|
37
|
-
* // Option 3: Direct enqueue with @EntityType on command
|
|
38
|
-
* @EntityType('table')
|
|
39
|
-
* class MakeBetCommand { ... }
|
|
40
|
-
*
|
|
41
|
-
* await this.queueBus.enqueue(new MakeBetCommand(tableId, bets, player));
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
2
|
+
import { IAtomicQueuesModuleConfig, IMessageRef } from '../../domain';
|
|
3
|
+
import { LogService } from '../log';
|
|
4
|
+
import { ExecutorPoolService } from '../executor-pool';
|
|
5
|
+
import { HandlerExecutor } from '../handler-executor';
|
|
6
|
+
import { ResultCollector } from '../result-collector';
|
|
7
|
+
import { RegistryService } from '../registry';
|
|
44
8
|
export declare class QueueBus {
|
|
45
|
-
private readonly queueManager;
|
|
46
|
-
private readonly queueEventsManager?;
|
|
47
|
-
private readonly logger;
|
|
48
|
-
/**
|
|
49
|
-
* Cache of processor options by class
|
|
50
|
-
*/
|
|
51
|
-
private readonly processorCache;
|
|
52
|
-
/**
|
|
53
|
-
* Global registry of command/query classes
|
|
54
|
-
* Key: class name (e.g., 'MakeBetCommand')
|
|
55
|
-
* Value: registry entry with class reference
|
|
56
|
-
*/
|
|
57
|
-
private static readonly globalRegistry;
|
|
58
|
-
/**
|
|
59
|
-
* Module config for entity defaults
|
|
60
|
-
*/
|
|
61
9
|
private readonly config;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
private
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
* in the module config.
|
|
88
|
-
*
|
|
89
|
-
* @param entityType - The entity type (e.g., 'table', 'account')
|
|
90
|
-
* @returns EntityTarget builder for fluent API
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* // With module config:
|
|
94
|
-
* // entities: { table: { defaultEntityId: 'tableId' } }
|
|
95
|
-
*
|
|
96
|
-
* await this.queueBus
|
|
97
|
-
* .forEntity('table')
|
|
98
|
-
* .enqueue(new MakeBetCommand(tableId, bets, player));
|
|
99
|
-
*/
|
|
100
|
-
forEntity(entityType: string): EntityTarget;
|
|
101
|
-
/**
|
|
102
|
-
* Direct enqueue using @EntityType decorator on the command class.
|
|
103
|
-
* This is the most ergonomic approach for commands that have explicit routing.
|
|
104
|
-
*
|
|
105
|
-
* @param commandOrQuery - The command or query instance (must have @EntityType decorator)
|
|
106
|
-
* @param options - Optional settings (entityId override, jobOptions)
|
|
107
|
-
* @returns The created BullMQ job
|
|
108
|
-
*
|
|
109
|
-
* @example
|
|
110
|
-
* @EntityType('account')
|
|
111
|
-
* class WithdrawCommand {
|
|
112
|
-
* @QueueEntityId()
|
|
113
|
-
* accountId: string;
|
|
114
|
-
* // ...
|
|
115
|
-
* }
|
|
116
|
-
*
|
|
117
|
-
* await this.queueBus.enqueue(new WithdrawCommand(accountId, amount));
|
|
118
|
-
*/
|
|
119
|
-
enqueue<T extends object>(commandOrQuery: T, options?: EnqueueOptions): Promise<Job>;
|
|
120
|
-
/**
|
|
121
|
-
* Direct enqueue and wait using @EntityType decorator on the command class.
|
|
122
|
-
*/
|
|
123
|
-
enqueueAndWait<T extends object, R = any>(commandOrQuery: T, options?: EnqueueOptions & {
|
|
10
|
+
private readonly logService;
|
|
11
|
+
private readonly executorPool;
|
|
12
|
+
private readonly handlerExecutor;
|
|
13
|
+
private readonly resultCollector;
|
|
14
|
+
private readonly registryService?;
|
|
15
|
+
private readonly logger;
|
|
16
|
+
private readonly keyPrefix;
|
|
17
|
+
constructor(config: IAtomicQueuesModuleConfig, logService: LogService, executorPool: ExecutorPoolService, handlerExecutor: HandlerExecutor, resultCollector: ResultCollector, registryService?: RegistryService | undefined);
|
|
18
|
+
enqueue<T extends object>(commandOrQuery: T, options?: {
|
|
19
|
+
entityId?: string;
|
|
20
|
+
}): Promise<IMessageRef>;
|
|
21
|
+
forEntity(entityType: string): {
|
|
22
|
+
enqueue<T extends object>(commandOrQuery: T, options?: {
|
|
23
|
+
entityId?: string;
|
|
24
|
+
}): Promise<IMessageRef>;
|
|
25
|
+
enqueueAndWait<T extends object, R = any>(commandOrQuery: T, options?: {
|
|
26
|
+
entityId?: string;
|
|
27
|
+
timeout?: number;
|
|
28
|
+
}): Promise<R>;
|
|
29
|
+
enqueueBulk<T extends object>(commands: T[], options?: {
|
|
30
|
+
entityId?: string;
|
|
31
|
+
}): Promise<IMessageRef[]>;
|
|
32
|
+
};
|
|
33
|
+
enqueueAndWait<T extends object, R = any>(commandOrQuery: T, options?: {
|
|
34
|
+
entityId?: string;
|
|
124
35
|
timeout?: number;
|
|
125
36
|
}): Promise<R>;
|
|
126
|
-
|
|
127
|
-
* Register a command class for worker-side instantiation
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* QueueBus.register(MakeBetCommand);
|
|
131
|
-
* QueueBus.register(GetTableStateQuery, true); // isQuery = true
|
|
132
|
-
*/
|
|
37
|
+
private static readonly globalRegistry;
|
|
133
38
|
static register(targetClass: Type<any>, isQuery?: boolean): void;
|
|
134
|
-
/**
|
|
135
|
-
* Register multiple commands at once
|
|
136
|
-
*/
|
|
137
39
|
static registerCommands(...commands: Type<any>[]): void;
|
|
138
|
-
/**
|
|
139
|
-
* Register multiple queries at once
|
|
140
|
-
*/
|
|
141
40
|
static registerQueries(...queries: Type<any>[]): void;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
* Check if a class name is registered
|
|
148
|
-
*/
|
|
41
|
+
static getRegistered(className: string): {
|
|
42
|
+
className: string;
|
|
43
|
+
targetClass: Type<any>;
|
|
44
|
+
isQuery: boolean;
|
|
45
|
+
} | undefined;
|
|
149
46
|
static isRegistered(className: string): boolean;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
* Auto-discover and register all commands/queries from CQRS handlers
|
|
156
|
-
*
|
|
157
|
-
* This method discovers all classes decorated with @CommandHandler and @QueryHandler
|
|
158
|
-
* from @nestjs/cqrs and automatically registers them with QueueBus.
|
|
159
|
-
*
|
|
160
|
-
* Call this during module init to enable zero-config command registration.
|
|
161
|
-
*
|
|
162
|
-
* @param discoveryService - NestJS DiscoveryService
|
|
163
|
-
* @returns Number of commands and queries discovered
|
|
164
|
-
*
|
|
165
|
-
* @example
|
|
166
|
-
* ```typescript
|
|
167
|
-
* @Module({})
|
|
168
|
-
* export class MyModule implements OnModuleInit {
|
|
169
|
-
* constructor(private discoveryService: DiscoveryService) {}
|
|
170
|
-
*
|
|
171
|
-
* onModuleInit() {
|
|
172
|
-
* const { commands, queries } = QueueBus.discoverFromCqrs(this.discoveryService);
|
|
173
|
-
* console.log(`Auto-registered ${commands} commands, ${queries} queries`);
|
|
174
|
-
* }
|
|
175
|
-
* }
|
|
176
|
-
* ```
|
|
177
|
-
*/
|
|
47
|
+
static getAllRegistered(): Map<string, {
|
|
48
|
+
className: string;
|
|
49
|
+
targetClass: Type<any>;
|
|
50
|
+
isQuery: boolean;
|
|
51
|
+
}>;
|
|
178
52
|
static discoverFromCqrs(discoveryService: any): {
|
|
179
53
|
commands: number;
|
|
180
54
|
queries: number;
|
|
181
55
|
};
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
*
|
|
185
|
-
* @deprecated Use .forProcessor(ProcessorClass).enqueue(command) instead
|
|
186
|
-
*
|
|
187
|
-
* @param queuePattern - Queue name pattern with {entityId} placeholder
|
|
188
|
-
* @param commandOrQuery - The command/query instance to execute
|
|
189
|
-
* @param options - Optional settings (entityId, jobOptions)
|
|
190
|
-
* @returns The created BullMQ job
|
|
191
|
-
*/
|
|
192
|
-
execute<T extends object>(queuePattern: string, commandOrQuery: T, options?: QueueBusExecuteOptions): Promise<Job>;
|
|
193
|
-
/**
|
|
194
|
-
* Execute and wait for result (if supported by worker)
|
|
195
|
-
* Uses BullMQ's waitUntilFinished
|
|
196
|
-
*
|
|
197
|
-
* @deprecated Use .forProcessor(ProcessorClass).enqueueAndWait(command) instead
|
|
198
|
-
*/
|
|
199
|
-
executeAndWait<T extends object, R = any>(queuePattern: string, commandOrQuery: T, options?: QueueBusExecuteOptions & {
|
|
200
|
-
timeout?: number;
|
|
201
|
-
}): Promise<R>;
|
|
202
|
-
/**
|
|
203
|
-
* Add multiple commands/queries to the same queue in bulk
|
|
204
|
-
*
|
|
205
|
-
* @deprecated Use .forProcessor(ProcessorClass).enqueueBulk(commands) instead
|
|
206
|
-
*/
|
|
207
|
-
executeBulk<T extends object>(queuePattern: string, commandsOrQueries: T[], options?: QueueBusExecuteOptions): Promise<Job[]>;
|
|
208
|
-
/**
|
|
209
|
-
* Resolve queue name by replacing {entityId} placeholder
|
|
210
|
-
*/
|
|
211
|
-
private resolveQueueName;
|
|
56
|
+
private _enqueue;
|
|
57
|
+
private _enqueueAndWait;
|
|
212
58
|
}
|
|
213
59
|
//# sourceMappingURL=queue-bus.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-bus.service.d.ts","sourceRoot":"","sources":["../../../src/services/queue-bus/queue-bus.service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"queue-bus.service.d.ts","sourceRoot":"","sources":["../../../src/services/queue-bus/queue-bus.service.ts"],"names":[],"mappings":"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"}
|