@tsed/bullmq 7.50.0 → 7.51.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.
@@ -11,7 +11,7 @@ let JobDispatcher = class JobDispatcher {
11
11
  this.injector = injector;
12
12
  }
13
13
  async dispatch(job, payload, options = {}) {
14
- const { queueName, jobName, defaultJobOptions } = this.resolveDispatchArgs(job);
14
+ const { queueName, jobName, defaultJobOptions } = await this.resolveDispatchArgs(job, payload);
15
15
  const queue = this.injector.get(`bullmq.queue.${queueName}`);
16
16
  if (!queue) {
17
17
  throw new Error(`Queue(${queueName}) not defined`);
@@ -21,7 +21,7 @@ let JobDispatcher = class JobDispatcher {
21
21
  ...options
22
22
  });
23
23
  }
24
- resolveDispatchArgs(job) {
24
+ async resolveDispatchArgs(job, payload) {
25
25
  let queueName;
26
26
  let jobName;
27
27
  let defaultJobOptions;
@@ -30,7 +30,7 @@ let JobDispatcher = class JobDispatcher {
30
30
  const store = core_1.Store.from(job).get("bullmq");
31
31
  queueName = store.queue;
32
32
  jobName = store.name;
33
- defaultJobOptions = store.opts;
33
+ defaultJobOptions = await this.retrieveJobOptionsFromClassBasedJob(store, payload);
34
34
  }
35
35
  else if (typeof job === "object") {
36
36
  // job is passed as JobDispatcherOptions
@@ -48,6 +48,20 @@ let JobDispatcher = class JobDispatcher {
48
48
  defaultJobOptions
49
49
  };
50
50
  }
51
+ async retrieveJobOptionsFromClassBasedJob(store, payload) {
52
+ const job = this.injector.get(`bullmq.job.${store.queue}.${store.name}`);
53
+ if (!job) {
54
+ return store.opts;
55
+ }
56
+ const jobId = await job.jobId?.(payload);
57
+ if (jobId === undefined) {
58
+ return store.opts;
59
+ }
60
+ return {
61
+ ...store.opts,
62
+ jobId
63
+ };
64
+ }
51
65
  };
52
66
  JobDispatcher = tslib_1.__decorate([
53
67
  (0, di_1.Service)(),
@@ -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,OAAY,EAAE,UAAuB,EAAE;QACtG,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE9E,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,mBAAmB,CAAC,GAAyC;QACnE,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,KAAK,CAAC,IAAI,CAAC;SAChC;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;CACF,CAAA;AApDY,aAAa;IADzB,IAAA,YAAO,GAAE;6CAE+B,oBAAe;GAD3C,aAAa,CAoDzB;AApDY,sCAAa"}
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"}
@@ -8,7 +8,7 @@ let JobDispatcher = class JobDispatcher {
8
8
  this.injector = injector;
9
9
  }
10
10
  async dispatch(job, payload, options = {}) {
11
- const { queueName, jobName, defaultJobOptions } = this.resolveDispatchArgs(job);
11
+ const { queueName, jobName, defaultJobOptions } = await this.resolveDispatchArgs(job, payload);
12
12
  const queue = this.injector.get(`bullmq.queue.${queueName}`);
13
13
  if (!queue) {
14
14
  throw new Error(`Queue(${queueName}) not defined`);
@@ -18,7 +18,7 @@ let JobDispatcher = class JobDispatcher {
18
18
  ...options
19
19
  });
20
20
  }
21
- resolveDispatchArgs(job) {
21
+ async resolveDispatchArgs(job, payload) {
22
22
  let queueName;
23
23
  let jobName;
24
24
  let defaultJobOptions;
@@ -27,7 +27,7 @@ let JobDispatcher = class JobDispatcher {
27
27
  const store = Store.from(job).get("bullmq");
28
28
  queueName = store.queue;
29
29
  jobName = store.name;
30
- defaultJobOptions = store.opts;
30
+ defaultJobOptions = await this.retrieveJobOptionsFromClassBasedJob(store, payload);
31
31
  }
32
32
  else if (typeof job === "object") {
33
33
  // job is passed as JobDispatcherOptions
@@ -45,6 +45,20 @@ let JobDispatcher = class JobDispatcher {
45
45
  defaultJobOptions
46
46
  };
47
47
  }
48
+ async retrieveJobOptionsFromClassBasedJob(store, payload) {
49
+ const job = this.injector.get(`bullmq.job.${store.queue}.${store.name}`);
50
+ if (!job) {
51
+ return store.opts;
52
+ }
53
+ const jobId = await job.jobId?.(payload);
54
+ if (jobId === undefined) {
55
+ return store.opts;
56
+ }
57
+ return {
58
+ ...store.opts,
59
+ jobId
60
+ };
61
+ }
48
62
  };
49
63
  JobDispatcher = __decorate([
50
64
  Service(),
@@ -1 +1 @@
1
- {"version":3,"file":"JobDispatcher.js","sourceRoot":"","sources":["../../../src/dispatchers/JobDispatcher.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,OAAO,EAAC,eAAe,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAElD,OAAO,EAAC,KAAK,EAAO,MAAM,YAAY,CAAC;AAKhC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACK;IAA7B,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IASnD,KAAK,CAAC,QAAQ,CAAC,GAAyC,EAAE,OAAY,EAAE,UAAuB,EAAE;QACtG,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE9E,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,mBAAmB,CAAC,GAAyC;QACnE,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,KAAK,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,KAAK,CAAC,IAAI,CAAC;SAChC;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;CACF,CAAA;AApDY,aAAa;IADzB,OAAO,EAAE;qCAE+B,eAAe;GAD3C,aAAa,CAoDzB;SApDY,aAAa"}
1
+ {"version":3,"file":"JobDispatcher.js","sourceRoot":"","sources":["../../../src/dispatchers/JobDispatcher.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,OAAO,EAAC,eAAe,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAElD,OAAO,EAAC,KAAK,EAAO,MAAM,YAAY,CAAC;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,KAAK,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,OAAO,EAAE;qCAE+B,eAAe;GAD3C,aAAa,CAqEzB;SArEY,aAAa"}