@tsed/bullmq 7.59.0 → 7.60.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.
Files changed (82) hide show
  1. package/lib/cjs/BullMQModule.js +51 -56
  2. package/lib/cjs/BullMQModule.js.map +1 -1
  3. package/lib/cjs/constants/BullMQTypes.js +12 -0
  4. package/lib/cjs/constants/BullMQTypes.js.map +1 -0
  5. package/lib/cjs/constants/constants.js +5 -0
  6. package/lib/cjs/constants/constants.js.map +1 -0
  7. package/lib/cjs/decorators/InjectQueue.js +10 -0
  8. package/lib/cjs/decorators/InjectQueue.js.map +1 -0
  9. package/lib/cjs/decorators/InjectWorker.js +10 -0
  10. package/lib/cjs/decorators/InjectWorker.js.map +1 -0
  11. package/lib/cjs/decorators/JobController.js +9 -6
  12. package/lib/cjs/decorators/JobController.js.map +1 -1
  13. package/lib/cjs/decorators/index.js +2 -0
  14. package/lib/cjs/decorators/index.js.map +1 -1
  15. package/lib/cjs/dispatchers/JobDispatcher.js +8 -5
  16. package/lib/cjs/dispatchers/JobDispatcher.js.map +1 -1
  17. package/lib/cjs/index.js +11 -0
  18. package/lib/cjs/index.js.map +1 -1
  19. package/lib/cjs/utils/createQueueProvider.js +20 -0
  20. package/lib/cjs/utils/createQueueProvider.js.map +1 -0
  21. package/lib/cjs/utils/createWorkerProvider.js +20 -0
  22. package/lib/cjs/utils/createWorkerProvider.js.map +1 -0
  23. package/lib/cjs/utils/getJobToken.js +12 -0
  24. package/lib/cjs/utils/getJobToken.js.map +1 -0
  25. package/lib/cjs/utils/getQueueToken.js +8 -0
  26. package/lib/cjs/utils/getQueueToken.js.map +1 -0
  27. package/lib/cjs/utils/getWorkerToken.js +8 -0
  28. package/lib/cjs/utils/getWorkerToken.js.map +1 -0
  29. package/lib/cjs/utils/mapQueueOptions.js +13 -0
  30. package/lib/cjs/utils/mapQueueOptions.js.map +1 -0
  31. package/lib/cjs/utils/mapWorkerOptions.js +12 -0
  32. package/lib/cjs/utils/mapWorkerOptions.js.map +1 -0
  33. package/lib/esm/BullMQModule.js +52 -57
  34. package/lib/esm/BullMQModule.js.map +1 -1
  35. package/lib/esm/constants/BullMQTypes.js +9 -0
  36. package/lib/esm/constants/BullMQTypes.js.map +1 -0
  37. package/lib/esm/constants/constants.js +2 -0
  38. package/lib/esm/constants/constants.js.map +1 -0
  39. package/lib/esm/decorators/InjectQueue.js +6 -0
  40. package/lib/esm/decorators/InjectQueue.js.map +1 -0
  41. package/lib/esm/decorators/InjectWorker.js +6 -0
  42. package/lib/esm/decorators/InjectWorker.js.map +1 -0
  43. package/lib/esm/decorators/JobController.js +9 -6
  44. package/lib/esm/decorators/JobController.js.map +1 -1
  45. package/lib/esm/decorators/index.js +2 -0
  46. package/lib/esm/decorators/index.js.map +1 -1
  47. package/lib/esm/dispatchers/JobDispatcher.js +8 -5
  48. package/lib/esm/dispatchers/JobDispatcher.js.map +1 -1
  49. package/lib/esm/index.js +11 -0
  50. package/lib/esm/index.js.map +1 -1
  51. package/lib/esm/utils/createQueueProvider.js +16 -0
  52. package/lib/esm/utils/createQueueProvider.js.map +1 -0
  53. package/lib/esm/utils/createWorkerProvider.js +16 -0
  54. package/lib/esm/utils/createWorkerProvider.js.map +1 -0
  55. package/lib/esm/utils/getJobToken.js +7 -0
  56. package/lib/esm/utils/getJobToken.js.map +1 -0
  57. package/lib/esm/utils/getQueueToken.js +4 -0
  58. package/lib/esm/utils/getQueueToken.js.map +1 -0
  59. package/lib/esm/utils/getWorkerToken.js +4 -0
  60. package/lib/esm/utils/getWorkerToken.js.map +1 -0
  61. package/lib/esm/utils/mapQueueOptions.js +9 -0
  62. package/lib/esm/utils/mapQueueOptions.js.map +1 -0
  63. package/lib/esm/utils/mapWorkerOptions.js +8 -0
  64. package/lib/esm/utils/mapWorkerOptions.js.map +1 -0
  65. package/lib/types/BullMQModule.d.ts +9 -1
  66. package/lib/types/config/config.d.ts +5 -5
  67. package/lib/types/constants/BullMQTypes.d.ts +7 -0
  68. package/lib/types/constants/constants.d.ts +1 -0
  69. package/lib/types/contracts/JobStore.d.ts +2 -2
  70. package/lib/types/decorators/InjectQueue.d.ts +1 -0
  71. package/lib/types/decorators/InjectWorker.d.ts +1 -0
  72. package/lib/types/decorators/index.d.ts +2 -0
  73. package/lib/types/dispatchers/JobDispatcher.d.ts +2 -2
  74. package/lib/types/index.d.ts +11 -0
  75. package/lib/types/utils/createQueueProvider.d.ts +3 -0
  76. package/lib/types/utils/createWorkerProvider.d.ts +3 -0
  77. package/lib/types/utils/getJobToken.d.ts +2 -0
  78. package/lib/types/utils/getQueueToken.d.ts +1 -0
  79. package/lib/types/utils/getWorkerToken.d.ts +1 -0
  80. package/lib/types/utils/mapQueueOptions.d.ts +3 -0
  81. package/lib/types/utils/mapWorkerOptions.d.ts +3 -0
  82. package/package.json +5 -5
@@ -4,76 +4,75 @@ exports.BullMQModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@tsed/common");
6
6
  const di_1 = require("@tsed/di");
7
- const core_1 = require("@tsed/core");
8
7
  const schema_1 = require("@tsed/schema");
9
- const bullmq_1 = require("bullmq");
10
8
  const uuid_1 = require("uuid");
9
+ const BullMQTypes_1 = require("./constants/BullMQTypes");
10
+ const constants_1 = require("./constants/constants");
11
11
  const dispatchers_1 = require("./dispatchers");
12
+ const createQueueProvider_1 = require("./utils/createQueueProvider");
13
+ const createWorkerProvider_1 = require("./utils/createWorkerProvider");
14
+ const getJobToken_1 = require("./utils/getJobToken");
15
+ const mapQueueOptions_1 = require("./utils/mapQueueOptions");
16
+ const mapWorkerOptions_1 = require("./utils/mapWorkerOptions");
12
17
  let BullMQModule = class BullMQModule {
13
18
  injector;
14
19
  dispatcher;
15
- bullmq;
16
20
  constructor(injector, dispatcher) {
17
21
  this.injector = injector;
18
22
  this.dispatcher = dispatcher;
23
+ // build providers allow @Inject(queue) usage in JobController instance
24
+ if (this.isEnabled()) {
25
+ const queues = [...this.getUniqQueueNames()];
26
+ this.buildQueues(queues);
27
+ if (!this.isWorkerEnabled()) {
28
+ const workers = this.config.workerQueues?.length ? this.config.workerQueues : queues;
29
+ this.buildWorkers(workers);
30
+ }
31
+ }
32
+ }
33
+ get config() {
34
+ return this.injector.settings.get("bullmq");
19
35
  }
20
36
  $beforeInit() {
21
- if (!this.bullmq) {
22
- return;
37
+ if (this.isEnabled()) {
38
+ this.injector.getMany(BullMQTypes_1.BullMQTypes.CRON).map((job) => this.dispatcher.dispatch((0, schema_1.getComputedType)(job)));
23
39
  }
24
- if (!this.bullmq.disableWorker) {
25
- this.buildWorkers();
26
- }
27
- this.buildQueues();
28
- this.injector.getMany("bullmq:cron").map((job) => this.dispatcher.dispatch((0, schema_1.getComputedType)(job)));
29
40
  }
30
- buildQueues() {
31
- this.bullmq.queues.forEach((queue) => {
32
- const ops = (0, core_1.deepMerge)({
33
- connection: this.bullmq.connection,
34
- defaultJobOptions: this.bullmq.defaultJobOptions,
35
- ...this.bullmq.defaultQueueOptions
36
- }, this.bullmq.queueOptions?.[queue]);
37
- this.injector
38
- .add(`bullmq.queue.${queue}`, {
39
- type: "bullmq:queue",
40
- useValue: new bullmq_1.Queue(queue, ops),
41
- hooks: {
42
- $onDestroy: (queue) => queue.close()
43
- }
44
- })
45
- .invoke(`bullmq.queue.${queue}`);
41
+ isEnabled() {
42
+ return !!this.config;
43
+ }
44
+ isWorkerEnabled() {
45
+ return this.config.disableWorker;
46
+ }
47
+ buildQueues(queues) {
48
+ queues.forEach((queue) => {
49
+ const opts = (0, mapQueueOptions_1.mapQueueOptions)(queue, this.config);
50
+ (0, createQueueProvider_1.createQueueProvider)(this.injector, queue, opts);
46
51
  });
47
52
  }
48
- buildWorkers() {
49
- (this.bullmq.workerQueues ?? this.bullmq.queues).forEach((queue) => {
50
- const ops = (0, core_1.deepMerge)({
51
- connection: this.bullmq.connection,
52
- ...this.bullmq.defaultWorkerOptions
53
- }, this.bullmq.workerOptions?.[queue]);
54
- this.injector
55
- .add(`bullmq.worker.${queue}`, {
56
- type: "bullmq:worker",
57
- useValue: new bullmq_1.Worker(queue, this.onProcess.bind(this), ops),
58
- hooks: {
59
- $onDestroy: (worker) => worker.close()
60
- }
61
- })
62
- .invoke(`bullmq.worker.${queue}`);
53
+ buildWorkers(workers) {
54
+ workers.forEach((worker) => {
55
+ const opts = (0, mapWorkerOptions_1.mapWorkerOptions)(worker, this.config);
56
+ (0, createWorkerProvider_1.createWorkerProvider)(this.injector, worker, this.onProcess, opts);
63
57
  });
64
58
  }
59
+ /**
60
+ * Auto discover queue names from provider and merge it with queue names from global configuration.
61
+ * @private
62
+ */
63
+ getUniqQueueNames() {
64
+ return new Set(this.injector
65
+ .getProviders([BullMQTypes_1.BullMQTypes.JOB, BullMQTypes_1.BullMQTypes.CRON, BullMQTypes_1.BullMQTypes.FALLBACK_JOB])
66
+ .map((provider) => provider.store.get(constants_1.BULLMQ)?.queue)
67
+ .concat(this.config.queues)
68
+ .filter(Boolean));
69
+ }
65
70
  getJob(name, queueName) {
66
- const job = this.injector.get(`bullmq.job.${queueName}.${name}`);
67
- if (job) {
68
- return job;
69
- }
70
- const fallbackJobForQueue = this.injector.get(`bullmq.fallback-job.${queueName}`);
71
- if (fallbackJobForQueue) {
72
- return fallbackJobForQueue;
73
- }
74
- return this.injector.get("bullmq.fallback-job");
71
+ return (this.injector.get((0, getJobToken_1.getJobToken)(queueName, name)) ||
72
+ this.injector.get((0, getJobToken_1.getFallbackJobToken)(queueName)) ||
73
+ this.injector.get((0, getJobToken_1.getFallbackJobToken)()));
75
74
  }
76
- async onProcess(job) {
75
+ onProcess = async (job) => {
77
76
  const jobService = this.getJob(job.name, job.queueName);
78
77
  if (!jobService) {
79
78
  this.injector.logger.warn({
@@ -116,12 +115,8 @@ let BullMQModule = class BullMQModule {
116
115
  finally {
117
116
  await $ctx.destroy();
118
117
  }
119
- }
118
+ };
120
119
  };
121
- tslib_1.__decorate([
122
- (0, di_1.Constant)("bullmq"),
123
- tslib_1.__metadata("design:type", Object)
124
- ], BullMQModule.prototype, "bullmq", void 0);
125
120
  BullMQModule = tslib_1.__decorate([
126
121
  (0, di_1.Module)(),
127
122
  tslib_1.__metadata("design:paramtypes", [di_1.InjectorService, dispatchers_1.JobDispatcher])
@@ -1 +1 @@
1
- {"version":3,"file":"BullMQModule.js","sourceRoot":"","sources":["../../src/BullMQModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BullMQModule.js","sourceRoot":"","sources":["../../src/BullMQModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BullMQTypes = void 0;
4
+ var BullMQTypes;
5
+ (function (BullMQTypes) {
6
+ BullMQTypes["CRON"] = "bullmq:cron";
7
+ BullMQTypes["QUEUE"] = "bullmq:queue";
8
+ BullMQTypes["JOB"] = "bullmq:job";
9
+ BullMQTypes["WORKER"] = "bullmq:worker";
10
+ BullMQTypes["FALLBACK_JOB"] = "bullmq:fallback-job";
11
+ })(BullMQTypes = exports.BullMQTypes || (exports.BullMQTypes = {}));
12
+ //# sourceMappingURL=BullMQTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BullMQTypes.js","sourceRoot":"","sources":["../../../src/constants/BullMQTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,mCAAoB,CAAA;IACpB,qCAAsB,CAAA;IACtB,iCAAkB,CAAA;IAClB,uCAAwB,CAAA;IACxB,mDAAoC,CAAA;AACtC,CAAC,EANW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAMtB"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BULLMQ = void 0;
4
+ exports.BULLMQ = "bullmq";
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InjectQueue = void 0;
4
+ const common_1 = require("@tsed/common");
5
+ const getQueueToken_1 = require("../utils/getQueueToken");
6
+ function InjectQueue(name) {
7
+ return (0, common_1.Inject)((0, getQueueToken_1.getQueueToken)(name));
8
+ }
9
+ exports.InjectQueue = InjectQueue;
10
+ //# sourceMappingURL=InjectQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InjectQueue.js","sourceRoot":"","sources":["../../../src/decorators/InjectQueue.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,0DAAqD;AAErD,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,IAAA,eAAM,EAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kCAEC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InjectWorker = void 0;
4
+ const common_1 = require("@tsed/common");
5
+ const getWorkerToken_1 = require("../utils/getWorkerToken");
6
+ function InjectWorker(name) {
7
+ return (0, common_1.Inject)((0, getWorkerToken_1.getWorkerToken)(name));
8
+ }
9
+ exports.InjectWorker = InjectWorker;
10
+ //# sourceMappingURL=InjectWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InjectWorker.js","sourceRoot":"","sources":["../../../src/decorators/InjectWorker.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,4DAAuD;AAEvD,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAA,eAAM,EAAC,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC;AAFD,oCAEC"}
@@ -3,23 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FallbackJobController = exports.JobController = void 0;
4
4
  const core_1 = require("@tsed/core");
5
5
  const di_1 = require("@tsed/di");
6
+ const BullMQTypes_1 = require("../constants/BullMQTypes");
7
+ const constants_1 = require("../constants/constants");
8
+ const getJobToken_1 = require("../utils/getJobToken");
6
9
  function JobController(name, queue = "default", opts = {}) {
7
- return (0, core_1.useDecorators)((0, core_1.StoreMerge)("bullmq", {
10
+ return (0, core_1.useDecorators)((0, core_1.StoreMerge)(constants_1.BULLMQ, {
8
11
  name,
9
12
  queue,
10
13
  opts
11
14
  }), (0, di_1.Injectable)({
12
- provide: `bullmq.job.${queue}.${name}`,
13
- type: opts.repeat ? "bullmq:cron" : "bullmq:job"
15
+ provide: (0, getJobToken_1.getJobToken)(queue, name),
16
+ type: opts.repeat ? BullMQTypes_1.BullMQTypes.CRON : BullMQTypes_1.BullMQTypes.JOB
14
17
  }));
15
18
  }
16
19
  exports.JobController = JobController;
17
20
  function FallbackJobController(queue) {
18
- return (0, core_1.useDecorators)((0, core_1.StoreMerge)("bullmq", {
21
+ return (0, core_1.useDecorators)((0, core_1.StoreMerge)(constants_1.BULLMQ, {
19
22
  queue
20
23
  }), (0, di_1.Injectable)({
21
- provide: "bullmq.fallback-job" + (queue ? `.${queue}` : ""),
22
- type: "bullmq:fallback-job"
24
+ provide: (0, getJobToken_1.getFallbackJobToken)(queue),
25
+ type: BullMQTypes_1.BullMQTypes.FALLBACK_JOB
23
26
  }));
24
27
  }
25
28
  exports.FallbackJobController = FallbackJobController;
@@ -1 +1 @@
1
- {"version":3,"file":"JobController.js","sourceRoot":"","sources":["../../../src/decorators/JobController.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,iCAAoC;AAGpC,SAAgB,aAAa,CAAC,IAAY,EAAE,QAAgB,SAAS,EAAE,OAAoB,EAAE;IAC3F,OAAO,IAAA,oBAAa,EAClB,IAAA,iBAAU,EAAC,QAAQ,EAAE;QACnB,IAAI;QACJ,KAAK;QACL,IAAI;KACL,CAAC,EACF,IAAA,eAAU,EAAC;QACT,OAAO,EAAE,cAAc,KAAK,IAAI,IAAI,EAAE;QACtC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;KACjD,CAAC,CACH,CAAC;AACJ,CAAC;AAZD,sCAYC;AAED,SAAgB,qBAAqB,CAAC,KAAc;IAClD,OAAO,IAAA,oBAAa,EAClB,IAAA,iBAAU,EAAC,QAAQ,EAAE;QACnB,KAAK;KACN,CAAC,EACF,IAAA,eAAU,EAAC;QACT,OAAO,EAAE,qBAAqB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,EAAE,qBAAqB;KAC5B,CAAC,CACH,CAAC;AACJ,CAAC;AAVD,sDAUC"}
1
+ {"version":3,"file":"JobController.js","sourceRoot":"","sources":["../../../src/decorators/JobController.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,iCAAoC;AAEpC,0DAAqD;AACrD,sDAA8C;AAC9C,sDAAsE;AAEtE,SAAgB,aAAa,CAAC,IAAY,EAAE,QAAgB,SAAS,EAAE,OAAoB,EAAE;IAC3F,OAAO,IAAA,oBAAa,EAClB,IAAA,iBAAU,EAAC,kBAAM,EAAE;QACjB,IAAI;QACJ,KAAK;QACL,IAAI;KACL,CAAC,EACF,IAAA,eAAU,EAAC;QACT,OAAO,EAAE,IAAA,yBAAW,EAAC,KAAK,EAAE,IAAI,CAAC;QACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAW,CAAC,GAAG;KACvD,CAAC,CACH,CAAC;AACJ,CAAC;AAZD,sCAYC;AAED,SAAgB,qBAAqB,CAAC,KAAc;IAClD,OAAO,IAAA,oBAAa,EAClB,IAAA,iBAAU,EAAC,kBAAM,EAAE;QACjB,KAAK;KACN,CAAC,EACF,IAAA,eAAU,EAAC;QACT,OAAO,EAAE,IAAA,iCAAmB,EAAC,KAAK,CAAC;QACnC,IAAI,EAAE,yBAAW,CAAC,YAAY;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC;AAVD,sDAUC"}
@@ -4,5 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const tslib_1 = require("tslib");
7
+ tslib_1.__exportStar(require("./InjectQueue"), exports);
8
+ tslib_1.__exportStar(require("./InjectWorker"), exports);
7
9
  tslib_1.__exportStar(require("./JobController"), exports);
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,wDAA8B;AAC9B,yDAA+B;AAC/B,0DAAgC"}
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JobDispatcher = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /* eslint-disable require-await */
6
- const di_1 = require("@tsed/di");
7
6
  const core_1 = require("@tsed/core");
7
+ const di_1 = require("@tsed/di");
8
+ const constants_1 = require("../constants/constants");
9
+ const getJobToken_1 = require("../utils/getJobToken");
10
+ const getQueueToken_1 = require("../utils/getQueueToken");
8
11
  let JobDispatcher = class JobDispatcher {
9
12
  injector;
10
13
  constructor(injector) {
@@ -12,7 +15,7 @@ let JobDispatcher = class JobDispatcher {
12
15
  }
13
16
  async dispatch(job, payload, options = {}) {
14
17
  const { queueName, jobName, defaultJobOptions } = await this.resolveDispatchArgs(job, payload);
15
- const queue = this.injector.get(`bullmq.queue.${queueName}`);
18
+ const queue = this.injector.get((0, getQueueToken_1.getQueueToken)(queueName));
16
19
  if (!queue) {
17
20
  throw new Error(`Queue(${queueName}) not defined`);
18
21
  }
@@ -27,7 +30,7 @@ let JobDispatcher = class JobDispatcher {
27
30
  let defaultJobOptions;
28
31
  if (typeof job === "function") {
29
32
  // job is passed as a Type
30
- const store = core_1.Store.from(job).get("bullmq");
33
+ const store = core_1.Store.from(job).get(constants_1.BULLMQ);
31
34
  queueName = store.queue;
32
35
  jobName = store.name;
33
36
  defaultJobOptions = await this.retrieveJobOptionsFromClassBasedJob(store, payload);
@@ -49,7 +52,7 @@ let JobDispatcher = class JobDispatcher {
49
52
  };
50
53
  }
51
54
  async retrieveJobOptionsFromClassBasedJob(store, payload) {
52
- const job = this.injector.get(`bullmq.job.${store.queue}.${store.name}`);
55
+ const job = this.injector.get((0, getJobToken_1.getJobToken)(store.queue, store.name));
53
56
  if (!job) {
54
57
  return store.opts;
55
58
  }
@@ -64,7 +67,7 @@ let JobDispatcher = class JobDispatcher {
64
67
  }
65
68
  };
66
69
  JobDispatcher = tslib_1.__decorate([
67
- (0, di_1.Service)(),
70
+ (0, di_1.Injectable)(),
68
71
  tslib_1.__metadata("design:paramtypes", [di_1.InjectorService])
69
72
  ], JobDispatcher);
70
73
  exports.JobDispatcher = JobDispatcher;
@@ -1 +1 @@
1
- {"version":3,"file":"JobDispatcher.js","sourceRoot":"","sources":["../../../src/dispatchers/JobDispatcher.ts"],"names":[],"mappings":";;;;AAAA,kCAAkC;AAClC,iCAAkD;AAElD,qCAAuC;AAKhC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACK;IAA7B,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IASnD,KAAK,CAAC,QAAQ,CAAC,GAAyC,EAAE,OAAgB,EAAE,UAAuB,EAAE;QAC1G,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE7F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAQ,gBAAgB,SAAS,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,eAAe,CAAC,CAAC;SACpD;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE;YACjC,GAAG,iBAAiB;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,GAAyC,EAAE,OAAgB;QAC3F,IAAI,SAAiB,CAAC;QACtB,IAAI,OAAe,CAAC;QACpB,IAAI,iBAA0C,CAAC;QAE/C,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;YAC7B,0BAA0B;YAC1B,MAAM,KAAK,GAAG,YAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAW,QAAQ,CAAC,CAAC;YACtD,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACxB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;YACrB,iBAAiB,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACpF;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAClC,wCAAwC;YACxC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;SACpB;aAAM;YACL,4BAA4B;YAC5B,SAAS,GAAG,SAAS,CAAC;YACtB,OAAO,GAAG,GAAG,CAAC;SACf;QAED,OAAO;YACL,SAAS;YACT,OAAO;YACP,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mCAAmC,CAAC,KAAe,EAAE,OAAgB;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAa,cAAc,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,KAAK,CAAC,IAAI,CAAC;SACnB;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC;SACnB;QAED,OAAO;YACL,GAAG,KAAK,CAAC,IAAI;YACb,KAAK;SACN,CAAC;IACJ,CAAC;CACF,CAAA;AArEY,aAAa;IADzB,IAAA,YAAO,GAAE;6CAE+B,oBAAe;GAD3C,aAAa,CAqEzB;AArEY,sCAAa"}
1
+ {"version":3,"file":"JobDispatcher.js","sourceRoot":"","sources":["../../../src/dispatchers/JobDispatcher.ts"],"names":[],"mappings":";;;;AAAA,kCAAkC;AAClC,qCAAuC;AACvC,iCAAqD;AAErD,sDAA8C;AAE9C,sDAAiD;AACjD,0DAAqD;AAI9C,IAAM,aAAa,GAAnB,MAAM,aAAa;IACK;IAA7B,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IASnD,KAAK,CAAC,QAAQ,CAAC,GAAyC,EAAE,OAAgB,EAAE,UAAuB,EAAE;QAC1G,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE7F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAQ,IAAA,6BAAa,EAAC,SAAS,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,eAAe,CAAC,CAAC;SACpD;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE;YACjC,GAAG,iBAAiB;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,GAAyC,EAAE,OAAgB;QAC3F,IAAI,SAAiB,CAAC;QACtB,IAAI,OAAe,CAAC;QACpB,IAAI,iBAA0C,CAAC;QAE/C,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;YAC7B,0BAA0B;YAC1B,MAAM,KAAK,GAAG,YAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAW,kBAAM,CAAC,CAAC;YACpD,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACxB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;YACrB,iBAAiB,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACpF;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAClC,wCAAwC;YACxC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;SACpB;aAAM;YACL,4BAA4B;YAC5B,SAAS,GAAG,SAAS,CAAC;YACtB,OAAO,GAAG,GAAG,CAAC;SACf;QAED,OAAO;YACL,SAAS;YACT,OAAO;YACP,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mCAAmC,CAAC,KAAe,EAAE,OAAgB;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAa,IAAA,yBAAW,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhF,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,KAAK,CAAC,IAAI,CAAC;SACnB;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC;SACnB;QAED,OAAO;YACL,GAAG,KAAK,CAAC,IAAI;YACb,KAAK;SACN,CAAC;IACJ,CAAC;CACF,CAAA;AAtEY,aAAa;IADzB,IAAA,eAAU,GAAE;6CAE4B,oBAAe;GAD3C,aAAa,CAsEzB;AAtEY,sCAAa"}
package/lib/cjs/index.js CHANGED
@@ -6,9 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const tslib_1 = require("tslib");
7
7
  tslib_1.__exportStar(require("./BullMQModule"), exports);
8
8
  tslib_1.__exportStar(require("./config/config"), exports);
9
+ tslib_1.__exportStar(require("./constants/BullMQTypes"), exports);
10
+ tslib_1.__exportStar(require("./constants/constants"), exports);
9
11
  tslib_1.__exportStar(require("./contracts/JobMethods"), exports);
10
12
  tslib_1.__exportStar(require("./contracts/JobStore"), exports);
13
+ tslib_1.__exportStar(require("./decorators/InjectQueue"), exports);
14
+ tslib_1.__exportStar(require("./decorators/InjectWorker"), exports);
11
15
  tslib_1.__exportStar(require("./decorators/JobController"), exports);
12
16
  tslib_1.__exportStar(require("./dispatchers/JobDispatcher"), exports);
13
17
  tslib_1.__exportStar(require("./dispatchers/JobDispatcherOptions"), exports);
18
+ tslib_1.__exportStar(require("./utils/createQueueProvider"), exports);
19
+ tslib_1.__exportStar(require("./utils/createWorkerProvider"), exports);
20
+ tslib_1.__exportStar(require("./utils/getJobToken"), exports);
21
+ tslib_1.__exportStar(require("./utils/getQueueToken"), exports);
22
+ tslib_1.__exportStar(require("./utils/getWorkerToken"), exports);
23
+ tslib_1.__exportStar(require("./utils/mapQueueOptions"), exports);
24
+ tslib_1.__exportStar(require("./utils/mapWorkerOptions"), exports);
14
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAA+B;AAC/B,0DAAgC;AAChC,iEAAuC;AACvC,+DAAqC;AACrC,qEAA2C;AAC3C,sEAA4C;AAC5C,6EAAmD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAA+B;AAC/B,0DAAgC;AAChC,kEAAwC;AACxC,gEAAsC;AACtC,iEAAuC;AACvC,+DAAqC;AACrC,mEAAyC;AACzC,oEAA0C;AAC1C,qEAA2C;AAC3C,sEAA4C;AAC5C,6EAAmD;AACnD,sEAA4C;AAC5C,uEAA6C;AAC7C,8DAAoC;AACpC,gEAAsC;AACtC,iEAAuC;AACvC,kEAAwC;AACxC,mEAAyC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createQueueProvider = void 0;
4
+ const bullmq_1 = require("bullmq");
5
+ const BullMQTypes_1 = require("../constants/BullMQTypes");
6
+ const getQueueToken_1 = require("./getQueueToken");
7
+ function createQueueProvider(injector, queue, opts) {
8
+ const token = (0, getQueueToken_1.getQueueToken)(queue);
9
+ return injector
10
+ .add(token, {
11
+ type: BullMQTypes_1.BullMQTypes.QUEUE,
12
+ useValue: new bullmq_1.Queue(queue, opts),
13
+ hooks: {
14
+ $onDestroy: (queue) => queue.close()
15
+ }
16
+ })
17
+ .invoke(token);
18
+ }
19
+ exports.createQueueProvider = createQueueProvider;
20
+ //# sourceMappingURL=createQueueProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createQueueProvider.js","sourceRoot":"","sources":["../../../src/utils/createQueueProvider.ts"],"names":[],"mappings":";;;AACA,mCAAwD;AAExD,0DAAqD;AACrD,mDAA8C;AAE9C,SAAgB,mBAAmB,CAAC,QAAyB,EAAE,KAAa,EAAE,IAAkB;IAC9F,MAAM,KAAK,GAAG,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;IAEnC,OAAO,QAAQ;SACZ,GAAG,CAAC,KAAK,EAAE;QACV,IAAI,EAAE,yBAAW,CAAC,KAAK;QACvB,QAAQ,EAAE,IAAI,cAAK,CAAC,KAAK,EAAE,IAAI,CAAC;QAChC,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;SACrC;KACF,CAAC;SACD,MAAM,CAAQ,KAAK,CAAC,CAAC;AAC1B,CAAC;AAZD,kDAYC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkerProvider = void 0;
4
+ const bullmq_1 = require("bullmq");
5
+ const BullMQTypes_1 = require("../constants/BullMQTypes");
6
+ const getWorkerToken_1 = require("./getWorkerToken");
7
+ function createWorkerProvider(injector, worker, process, opts) {
8
+ const token = (0, getWorkerToken_1.getWorkerToken)(worker);
9
+ return injector
10
+ .add(token, {
11
+ type: BullMQTypes_1.BullMQTypes.WORKER,
12
+ useValue: new bullmq_1.Worker(worker, process, opts),
13
+ hooks: {
14
+ $onDestroy: (worker) => worker.close()
15
+ }
16
+ })
17
+ .invoke(token);
18
+ }
19
+ exports.createWorkerProvider = createWorkerProvider;
20
+ //# sourceMappingURL=createWorkerProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWorkerProvider.js","sourceRoot":"","sources":["../../../src/utils/createWorkerProvider.ts"],"names":[],"mappings":";;;AACA,mCAAkD;AAClD,0DAAqD;AACrD,qDAAgD;AAEhD,SAAgB,oBAAoB,CAAC,QAAyB,EAAE,MAAc,EAAE,OAA0B,EAAE,IAAmB;IAC7H,MAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,MAAM,CAAC,CAAC;IAErC,OAAO,QAAQ;SACZ,GAAG,CAAC,KAAK,EAAE;QACV,IAAI,EAAE,yBAAW,CAAC,MAAM;QACxB,QAAQ,EAAE,IAAI,eAAM,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QAC3C,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;SACvC;KACF,CAAC;SACD,MAAM,CAAS,KAAK,CAAC,CAAC;AAC3B,CAAC;AAZD,oDAYC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFallbackJobToken = exports.getJobToken = void 0;
4
+ function getJobToken(queue, name) {
5
+ return `bullmq.job.${queue}.${name}`;
6
+ }
7
+ exports.getJobToken = getJobToken;
8
+ function getFallbackJobToken(queue) {
9
+ return ["bullmq.fallback-job", queue].filter(Boolean).join(".");
10
+ }
11
+ exports.getFallbackJobToken = getFallbackJobToken;
12
+ //# sourceMappingURL=getJobToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJobToken.js","sourceRoot":"","sources":["../../../src/utils/getJobToken.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,KAAa,EAAE,IAAY;IACrD,OAAO,cAAc,KAAK,IAAI,IAAI,EAAE,CAAC;AACvC,CAAC;AAFD,kCAEC;AAED,SAAgB,mBAAmB,CAAC,KAAc;IAChD,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQueueToken = void 0;
4
+ function getQueueToken(queue) {
5
+ return `bullmq.queue.${queue}`;
6
+ }
7
+ exports.getQueueToken = getQueueToken;
8
+ //# sourceMappingURL=getQueueToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQueueToken.js","sourceRoot":"","sources":["../../../src/utils/getQueueToken.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,gBAAgB,KAAK,EAAE,CAAC;AACjC,CAAC;AAFD,sCAEC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWorkerToken = void 0;
4
+ function getWorkerToken(worker) {
5
+ return `bullmq.worker.${worker}`;
6
+ }
7
+ exports.getWorkerToken = getWorkerToken;
8
+ //# sourceMappingURL=getWorkerToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkerToken.js","sourceRoot":"","sources":["../../../src/utils/getWorkerToken.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,iBAAiB,MAAM,EAAE,CAAC;AACnC,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapQueueOptions = void 0;
4
+ const core_1 = require("@tsed/core");
5
+ function mapQueueOptions(queue, bullMQConfig) {
6
+ return (0, core_1.deepMerge)({
7
+ connection: bullMQConfig.connection,
8
+ defaultJobOptions: bullMQConfig.defaultJobOptions,
9
+ ...bullMQConfig.defaultQueueOptions
10
+ }, bullMQConfig.queueOptions?.[queue]);
11
+ }
12
+ exports.mapQueueOptions = mapQueueOptions;
13
+ //# sourceMappingURL=mapQueueOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapQueueOptions.js","sourceRoot":"","sources":["../../../src/utils/mapQueueOptions.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAIrC,SAAgB,eAAe,CAAC,KAAa,EAAE,YAA0B;IACvE,OAAO,IAAA,gBAAS,EACd;QACE,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;QACjD,GAAG,YAAY,CAAC,mBAAmB;KACpC,EACD,YAAY,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAClC,CAAC;AACL,CAAC;AATD,0CASC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapWorkerOptions = void 0;
4
+ const core_1 = require("@tsed/core");
5
+ function mapWorkerOptions(queue, bullMQConfig) {
6
+ return (0, core_1.deepMerge)({
7
+ connection: bullMQConfig.connection,
8
+ ...bullMQConfig.defaultWorkerOptions
9
+ }, bullMQConfig.workerOptions?.[queue]);
10
+ }
11
+ exports.mapWorkerOptions = mapWorkerOptions;
12
+ //# sourceMappingURL=mapWorkerOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapWorkerOptions.js","sourceRoot":"","sources":["../../../src/utils/mapWorkerOptions.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAIrC,SAAgB,gBAAgB,CAAC,KAAa,EAAE,YAA0B;IACxE,OAAO,IAAA,gBAAS,EACd;QACE,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,GAAG,YAAY,CAAC,oBAAoB;KACrC,EACD,YAAY,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CACnC,CAAC;AACL,CAAC;AARD,4CAQC"}