@vendure/job-queue-plugin 3.3.2 → 3.3.4-master-202506180847

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.
@@ -5,6 +5,12 @@ import { ID, Injector, InspectableJobQueueStrategy, Job, JobData, PaginatedList
5
5
  * This JobQueueStrategy uses [BullMQ](https://docs.bullmq.io/) to implement a push-based job queue
6
6
  * on top of Redis. It should not be used alone, but as part of the {@link BullMQJobQueuePlugin}.
7
7
  *
8
+ * Note: To use this strategy, you need to manually install the `bullmq` package:
9
+ *
10
+ * ```shell
11
+ * npm install bullmq@^5.4.2
12
+ * ```
13
+ *
8
14
  * @docsCategory core plugins/JobQueuePlugin
9
15
  */
10
16
  export declare class BullMQJobQueueStrategy implements InspectableJobQueueStrategy {
@@ -14,6 +20,7 @@ export declare class BullMQJobQueueStrategy implements InspectableJobQueueStrate
14
20
  private worker;
15
21
  private workerProcessor;
16
22
  private options;
23
+ private jobListIndexService;
17
24
  private readonly queueNameProcessFnMap;
18
25
  private cancellationSub;
19
26
  private readonly cancelRunningJob$;
@@ -10,15 +10,21 @@ const ioredis_1 = require("ioredis");
10
10
  const rxjs_1 = require("rxjs");
11
11
  const operators_1 = require("rxjs/operators");
12
12
  const constants_1 = require("./constants");
13
+ const job_list_index_service_1 = require("./job-list-index.service");
13
14
  const redis_health_indicator_1 = require("./redis-health-indicator");
14
15
  const get_jobs_by_type_1 = require("./scripts/get-jobs-by-type");
15
- const QUEUE_NAME = 'vendure-job-queue';
16
- const DEFAULT_CONCURRENCY = 3;
16
+ const utils_1 = require("./utils");
17
17
  /**
18
18
  * @description
19
19
  * This JobQueueStrategy uses [BullMQ](https://docs.bullmq.io/) to implement a push-based job queue
20
20
  * on top of Redis. It should not be used alone, but as part of the {@link BullMQJobQueuePlugin}.
21
21
  *
22
+ * Note: To use this strategy, you need to manually install the `bullmq` package:
23
+ *
24
+ * ```shell
25
+ * npm install bullmq@^5.4.2
26
+ * ```
27
+ *
22
28
  * @docsCategory core plugins/JobQueuePlugin
23
29
  */
24
30
  class BullMQJobQueueStrategy {
@@ -37,6 +43,7 @@ class BullMQJobQueueStrategy {
37
43
  async init(injector) {
38
44
  var _a, _b, _c, _d, _e;
39
45
  const options = injector.get(constants_1.BULLMQ_PLUGIN_OPTIONS);
46
+ this.jobListIndexService = injector.get(job_list_index_service_1.JobListIndexService);
40
47
  this.options = Object.assign(Object.assign({}, options), { workerOptions: Object.assign(Object.assign({}, options.workerOptions), { removeOnComplete: (_b = (_a = options.workerOptions) === null || _a === void 0 ? void 0 : _a.removeOnComplete) !== null && _b !== void 0 ? _b : {
41
48
  age: 60 * 60 * 24 * 30,
42
49
  count: 5000,
@@ -57,7 +64,7 @@ class BullMQJobQueueStrategy {
57
64
  else {
58
65
  core_1.Logger.info('Connected to Redis ✔', constants_1.loggerCtx);
59
66
  }
60
- this.queue = new bullmq_1.Queue(QUEUE_NAME, Object.assign(Object.assign({}, options.queueOptions), { connection: this.redisConnection }))
67
+ this.queue = new bullmq_1.Queue(constants_1.QUEUE_NAME, Object.assign(Object.assign({}, options.queueOptions), { connection: this.redisConnection }))
61
68
  .on('error', (e) => core_1.Logger.error(`BullMQ Queue error: ${JSON.stringify(e.message)}`, constants_1.loggerCtx, e.stack))
62
69
  .on('resumed', () => core_1.Logger.verbose('BullMQ Queue resumed', constants_1.loggerCtx))
63
70
  .on('paused', () => core_1.Logger.verbose('BullMQ Queue paused', constants_1.loggerCtx));
@@ -101,6 +108,7 @@ class BullMQJobQueueStrategy {
101
108
  };
102
109
  // Subscription-mode Redis connection for the cancellation messages
103
110
  this.cancellationSub = new ioredis_1.Redis(this.connectionOptions);
111
+ this.jobListIndexService.register(this.redisConnection, this.queue);
104
112
  }
105
113
  async destroy() {
106
114
  var _a;
@@ -219,8 +227,8 @@ class BullMQJobQueueStrategy {
219
227
  async start(queueName, process) {
220
228
  this.queueNameProcessFnMap.set(queueName, process);
221
229
  if (!this.worker) {
222
- const options = Object.assign(Object.assign({ concurrency: DEFAULT_CONCURRENCY }, this.options.workerOptions), { connection: this.redisConnection });
223
- this.worker = new bullmq_1.Worker(QUEUE_NAME, this.workerProcessor, options)
230
+ const options = Object.assign(Object.assign({ concurrency: constants_1.DEFAULT_CONCURRENCY }, this.options.workerOptions), { connection: this.redisConnection });
231
+ this.worker = new bullmq_1.Worker(constants_1.QUEUE_NAME, this.workerProcessor, options)
224
232
  .on('error', e => core_1.Logger.error(`BullMQ Worker error: ${e.message}`, constants_1.loggerCtx, e.stack))
225
233
  .on('closing', e => core_1.Logger.verbose(`BullMQ Worker closing: ${e}`, constants_1.loggerCtx))
226
234
  .on('closed', () => core_1.Logger.verbose('BullMQ Worker closed', constants_1.loggerCtx))
@@ -320,8 +328,7 @@ class BullMQJobQueueStrategy {
320
328
  }
321
329
  callCustomScript(scriptDef, args) {
322
330
  return new Promise((resolve, reject) => {
323
- var _a, _b;
324
- const prefix = (_b = (_a = this.options.workerOptions) === null || _a === void 0 ? void 0 : _a.prefix) !== null && _b !== void 0 ? _b : 'bull';
331
+ const prefix = (0, utils_1.getPrefix)(this.options);
325
332
  this.redisConnection[scriptDef.name](`${prefix}:${this.queue.name}:`, ...args, (err, result) => {
326
333
  if (err) {
327
334
  reject(err);
@@ -1 +1 @@
1
- {"version":3,"file":"bullmq-job-queue-strategy.js","sourceRoot":"","sources":["../../src/bullmq/bullmq-job-queue-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bullmq-job-queue-strategy.js","sourceRoot":"","sources":["../../src/bullmq/bullmq-job-queue-strategy.ts"],"names":[],"mappings":";;;AAAA,yEAA+E;AAC/E,mEAAsE;AACtE,wCASuB;AACvB,mCAQgB;AAChB,mCAAsC;AACtC,qCAAuD;AACvD,+BAA+B;AAC/B,8CAAmD;AAEnD,2CAMqB;AACrB,qEAA+D;AAC/D,qEAAgE;AAChE,iEAA2D;AAE3D,mCAAoC;AAEpC;;;;;;;;;;;;GAYG;AACH,MAAa,sBAAsB;IAAnC;QAQqB,0BAAqB,GAAG,IAAI,GAAG,EAAsC,CAAC;QAEtE,sBAAiB,GAAG,IAAI,cAAO,EAAU,CAAC;QAC1C,uBAAkB,GAAG,YAAY,CAAC;QAClC,4BAAuB,GAAG,wBAAwB,CAAC;QA2PnD,kCAA6B,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YAChF,IAAI,OAAO,KAAK,IAAI,CAAC,kBAAkB,IAAI,KAAK,EAAE,CAAC;gBAC/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACL,CAAC,CAAC;QAEM,YAAO,GAAG,KAAK,CAAC;IAyH5B,CAAC;IAxXG,KAAK,CAAC,IAAI,CAAC,QAAkB;;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAsB,iCAAqB,CAAC,CAAC;QACzE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC,4CAAmB,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,mCACL,OAAO,KACV,aAAa,kCACN,OAAO,CAAC,aAAa,KACxB,gBAAgB,EAAE,MAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,gBAAgB,mCAAI;oBACzD,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;oBACtB,KAAK,EAAE,IAAI;iBACd,EACD,YAAY,EAAE,MAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,YAAY,mCAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAEnG,CAAC;QACF,IAAI,CAAC,iBAAiB;YAClB,MAAA,OAAO,CAAC,UAAU,mCACjB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAmB,CAAC;QAEpF,IAAI,CAAC,eAAe;YAChB,IAAI,CAAC,iBAAiB,YAAY,qBAAY;gBAC1C,CAAC,CAAC,IAAI,CAAC,iBAAiB;gBACxB,CAAC,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE5C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,6CAAoB,CAAC,CAAC;QAChE,aAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,qBAAS,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACjC,aAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,qBAAS,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,aAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,qBAAS,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,cAAK,CAAC,sBAAU,kCAAO,OAAO,CAAC,YAAY,KAAE,UAAU,EAAE,IAAI,CAAC,eAAe,IAAG;aAC5F,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CACpB,aAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,qBAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CACvF;aACA,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,qBAAS,CAAC,CAAC;aACtE,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,qBAAS,CAAC,CAAC,CAAC;QAE1E,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,EAAC,OAAO,EAAC,EAAE;;YACnC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAC/B,aAAM,CAAC,KAAK,CACR,OAAO,MAAA,OAAO,CAAC,EAAE,mCAAI,EAAE,KAAK,SAAS,uBAAuB,OAAO,CAAC,YAAY,GAAG,CAAC,OAChF,MAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,mCAAI,CAC7B,GAAG,CACN,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,cAAO,EAAQ,CAAC;gBACvC,IAAI,CAAC;oBACD,2BAA2B;oBAC3B,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAElE,IAAI,CAAC,iBAAiB;yBACjB,IAAI,CACD,IAAA,kBAAM,EAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,EACjC,IAAA,qBAAS,EAAC,UAAU,CAAC,CACxB;yBACA,SAAS,CAAC,GAAG,EAAE;;wBACZ,aAAM,CAAC,IAAI,CAAC,eAAe,MAAA,GAAG,CAAC,EAAE,mCAAI,EAAE,eAAe,EAAE,qBAAS,CAAC,CAAC;wBACnE,GAAG,CAAC,MAAM,EAAE,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;oBAEpC,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAClC,OAAO,MAAM,CAAC;gBAClB,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,MAAM,CAAC,CAAC;gBACZ,CAAC;wBAAS,CAAC;oBACP,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;wBACT,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAA,GAAG,CAAC,EAAE,0CAAE,QAAQ,EAAE,CAAC,CAAC;oBACtF,CAAC;oBACD,UAAU,CAAC,IAAI,EAAE,CAAC;oBAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;YACL,CAAC;YACD,MAAM,IAAI,0BAAmB,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAC;QACvF,CAAC,CAAC;QACF,mEAAmE;QACnE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,iBAAiC,CAAC,CAAC;QACzE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,OAAO;;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,GAAG,CAAsC,GAAc;;QACzD,MAAM,OAAO,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,UAAU,mDAAG,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,mCAAI,GAAG,CAAC,OAAO,mCAAI,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,UAAU,mDAAG,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,mCAAI;YAC7D,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,aAAa;SACtB,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,aAAa,mDAAG,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,mCAAI,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,kBACxD,QAAQ,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAC5E,gBAAgB,EACrB,CAAC;QACH,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC;gBACf,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,MAAM,OAAO,GAAG,8BAA8B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1E,aAAM,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAS,CAAC,CAAC;oBACjC,MAAM,IAAI,0BAAmB,CAAC,OAAO,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;;QACnC,MAAM,IAAI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAc,yBAAa,CAAC;QACxC,MAAM,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,KAAK,CAAC;QAC3C,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,EAAE,CAAC;YAClB,QAAQ,WAAW,CAAC,EAAE,EAAE,CAAC;gBACrB,KAAK,SAAS;oBACV,QAAQ,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;oBACvD,MAAM;gBACV,KAAK,SAAS;oBACV,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,MAAM;gBACV,KAAK,WAAW;oBACZ,QAAQ,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzB,MAAM;gBACV,KAAK,UAAU;oBACX,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,MAAM;gBACV,KAAK,QAAQ;oBACT,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,MAAM;gBACV,KAAK,WAAW;oBACZ,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,MAAM;YACd,CAAC;QACL,CAAC;QACD,MAAM,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,SAAS,CAAC;QACjD,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,EAAE,KAAI,IAAI,EAAE,CAAC;YAC5B,QAAQ;gBACJ,aAAa,CAAC,EAAE,KAAK,IAAI;oBACrB,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC;oBACzB,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gCAAa,EAAE;gBAC/D,IAAI;gBACJ,IAAI;gBACJ,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,SAAS,0CAAE,EAAE,mCAAI,EAAE;gBACpC,GAAG,QAAQ;aACd,CAAC,CAAC;YACH,KAAK,GAAG,CACJ,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACZ,OAAO,YAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,CACL,CACJ,CAAC,MAAM,CAAC,iCAAkB,CAAC,CAAC;YAC7B,UAAU,GAAG,KAAK,CAAC;QACvB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,MAAM,IAAI,0BAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1G,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAS;QACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iCAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAM;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,iBAAiB,CAAC,UAAqB,EAAE,SAAgB;QAC3D,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,qBAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,KAAK,CACP,SAAiB,EACjB,OAAyC;QAEzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,OAAO,iCACT,WAAW,EAAE,+BAAmB,IAC7B,IAAI,CAAC,OAAO,CAAC,aAAa,KAC7B,UAAU,EAAE,IAAI,CAAC,eAAe,GACnC,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,sBAAU,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;iBAC9D,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,aAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE,qBAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;iBACvF,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,aAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,EAAE,qBAAS,CAAC,CAAC;iBAC5E,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,qBAAS,CAAC,CAAC;iBACrE,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAyB,EAAE,KAAK,EAAE,EAAE;;gBAC/C,aAAM,CAAC,IAAI,CACP,OAAO,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,mCAAI,cAAc,KAAK,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,mCAAI,cAAc,qBAC5D,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,mCAAI,SACzB,OAAO,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC,QAAQ,mCAAI,CAAC,GAAG,EACjC,qBAAS,CACZ,CAAC;YACN,CAAC,CAAC;iBACD,EAAE,CAAC,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC7B,aAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,UAAU,EAAE,qBAAS,CAAC,CAAC;YAClE,CAAC,CAAC;iBACD,EAAE,CAAC,WAAW,EAAE,CAAC,GAAa,EAAE,EAAE;;gBAC/B,aAAM,CAAC,KAAK,CAAC,OAAO,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,mCAAI,YAAY,KAAK,GAAG,CAAC,IAAI,aAAa,EAAE,qBAAS,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;YACP,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAUD,KAAK,CAAC,IAAI,CACN,SAAiB,EACjB,OAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC;gBACD,aAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAS,CAAC,CAAC;gBAEzC,IAAI,KAAqB,CAAC;gBAC1B,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;oBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACtD,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC;wBAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAChD,aAAM,CAAC,IAAI,CACP,cAAc,WAAW,WACrB,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAC/B,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAC/C,qBAAS,CACZ,CAAC;wBACF,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;4BACpB,KAAK,WAAW,EAAE,CAAC;wBACvB,CAAC,EAAE,IAAI,CAAC,CAAC;oBACb,CAAC;gBACL,CAAC,CAAC;gBACF,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACpB,KAAK,WAAW,EAAE,CAAC;gBACvB,CAAC,EAAE,IAAI,CAAC,CAAC;gBAET,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1B,aAAM,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAS,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,aAAM,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAS,CAAC,CAAC;gBACvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,aAAM,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,KAAa;QAC/C,2CAA2C;QAC3C,mDAAmD;QACnD,kEAAkE;QAClE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAiB;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,IAAI,UAAG,CAAC;YACX,SAAS,EAAE,OAAO,CAAC,IAAI;YACvB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,YAAY;YAC9B,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACtC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1E,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACxE,KAAK,EAAE,OAAO,CAAC,YAAY;YAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ;YAC3B,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAiB;;QACpC,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,EAAE,0CAAE,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,WAAW;gBACZ,OAAO,0BAAQ,CAAC,SAAS,CAAC;YAC9B,KAAK,QAAQ;gBACT,OAAO,0BAAQ,CAAC,MAAM,CAAC;YAC3B,KAAK,SAAS,CAAC;YACf,KAAK,kBAAkB,CAAC;YACxB,KAAK,aAAa;gBACd,OAAO,0BAAQ,CAAC,OAAO,CAAC;YAC5B,KAAK,SAAS;gBACV,OAAO,0BAAQ,CAAC,QAAQ,CAAC;YAC7B,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,WAAW,GACb,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAC;gBACzF,OAAO,WAAW,CAAC,CAAC,CAAC,0BAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,0BAAQ,CAAC,OAAO,CAAC;YAC/D,CAAC;YACD,KAAK,SAAS,CAAC;YACf;gBACI,MAAM,IAAI,0BAAmB,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAEO,gBAAgB,CACpB,SAA0C,EAC1C,IAAU;QAEV,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,eAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CACzC,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAC/B,GAAG,IAAI,EACP,CAAC,GAAQ,EAAE,MAAW,EAAE,EAAE;gBACtB,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC;YACL,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,sBAAsB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,KAAK,CAAC,aAAa,CAAC,gCAAa,CAAC,IAAI,EAAE;YACpC,YAAY,EAAE,gCAAa,CAAC,YAAY;YACxC,GAAG,EAAE,gCAAa,CAAC,MAAM;SAC5B,CAAC,CAAC;IACP,CAAC;CACJ;AAtYD,wDAsYC"}
@@ -0,0 +1,2 @@
1
+ import { ScheduledTask } from '@vendure/core';
2
+ export declare const cleanIndexedSetsTask: ScheduledTask<Record<string, any>>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanIndexedSetsTask = void 0;
4
+ const core_1 = require("@vendure/core");
5
+ const job_list_index_service_1 = require("./job-list-index.service");
6
+ exports.cleanIndexedSetsTask = new core_1.ScheduledTask({
7
+ id: 'clean-job-queue-index',
8
+ description: 'Cleans up the index used to speed up job queue listing operations',
9
+ schedule: cron => cron.everyMinute(),
10
+ async execute({ injector }) {
11
+ return injector.get(job_list_index_service_1.JobListIndexService).cleanupIndexedSets();
12
+ },
13
+ });
14
+ //# sourceMappingURL=clean-indexed-sets-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-indexed-sets-task.js","sourceRoot":"","sources":["../../src/bullmq/clean-indexed-sets-task.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAE9C,qEAA+D;AAElD,QAAA,oBAAoB,GAAG,IAAI,oBAAa,CAAC;IAClD,EAAE,EAAE,uBAAuB;IAC3B,WAAW,EAAE,mEAAmE;IAChF,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;IACpC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE;QACtB,OAAO,QAAQ,CAAC,GAAG,CAAC,4CAAmB,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAClE,CAAC;CACJ,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { JobType } from 'bullmq';
2
2
  export declare const loggerCtx = "BullMQJobQueuePlugin";
3
3
  export declare const BULLMQ_PLUGIN_OPTIONS: unique symbol;
4
+ export declare const QUEUE_NAME = "vendure-job-queue";
5
+ export declare const DEFAULT_CONCURRENCY = 3;
4
6
  export declare const ALL_JOB_TYPES: JobType[];
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_JOB_TYPES = exports.BULLMQ_PLUGIN_OPTIONS = exports.loggerCtx = void 0;
3
+ exports.ALL_JOB_TYPES = exports.DEFAULT_CONCURRENCY = exports.QUEUE_NAME = exports.BULLMQ_PLUGIN_OPTIONS = exports.loggerCtx = void 0;
4
4
  exports.loggerCtx = 'BullMQJobQueuePlugin';
5
5
  exports.BULLMQ_PLUGIN_OPTIONS = Symbol('BULLMQ_PLUGIN_OPTIONS');
6
+ exports.QUEUE_NAME = 'vendure-job-queue';
7
+ exports.DEFAULT_CONCURRENCY = 3;
6
8
  exports.ALL_JOB_TYPES = [
7
9
  'completed',
8
10
  'failed',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bullmq/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAG,sBAAsB,CAAC;AACnC,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExD,QAAA,aAAa,GAAc;IACpC,WAAW;IACX,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,aAAa;CAChB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bullmq/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAG,sBAAsB,CAAC;AACnC,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACxD,QAAA,UAAU,GAAG,mBAAmB,CAAC;AACjC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AAExB,QAAA,aAAa,GAAc;IACpC,WAAW;IACX,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,aAAa;CAChB,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { ProcessContext } from '@vendure/core';
2
+ import { Queue } from 'bullmq';
3
+ import Redis, { Cluster } from 'ioredis';
4
+ import { BullMQPluginOptions } from './types';
5
+ /**
6
+ * @description
7
+ * In order to efficiently query jobs in the job queue, we use a "sorted set" in Redis to track jobs
8
+ * added to each queue. This allows to quickly fetch a list of jobs in a given queue without needing
9
+ * to iterate over all jobs in the queue and read the job data.
10
+ *
11
+ * By using this approach we can achieve a several order of magnitude improvement in performance
12
+ * over the former approach of iterating over all jobs via the custom LUA script.
13
+ *
14
+ * This also means that we need to periodically clean up the sorted sets to remove jobs that have
15
+ * been removed from the queue (via the automatic removal features of BullMQ). Why do we need to
16
+ * do this scheduled cleanup? Because currently BullMQ does not provide an event for when a job
17
+ * is automatically removed from the queue, so we cannot listen for that event and remove. The
18
+ * "removed" event is only emitted when a job is removed manually via the `remove()` method.
19
+ * See https://github.com/taskforcesh/bullmq/issues/3209#issuecomment-2795102551
20
+ */
21
+ export declare class JobListIndexService {
22
+ private readonly options;
23
+ private readonly processContext;
24
+ private readonly BATCH_SIZE;
25
+ private redis;
26
+ private queue;
27
+ private queueEvents;
28
+ private allStates;
29
+ constructor(options: BullMQPluginOptions, processContext: ProcessContext);
30
+ /**
31
+ * @description
32
+ * Should be called by the BullMQJobQueueStrategy as soon as the Redis connection and Queue
33
+ * object are available in the init() function.
34
+ */
35
+ register(redisConnection: Redis | Cluster, queue: Queue): void;
36
+ private setupEventListeners;
37
+ /**
38
+ * When a job's state changes, we need to update the indexed set
39
+ * to reflect the new state of the job.
40
+ */
41
+ private updateJobIndex;
42
+ private removeJobFromAllIndices;
43
+ /**
44
+ * @description
45
+ * This method is used to migrate existing jobs to use the indexed set method of tracking jobs.
46
+ * When the app bootstraps, we check to see if the existing jobs in the queue have a corresponding
47
+ * indexed set. If not, we create the indexed set and add the jobs to it.
48
+ */
49
+ migrateExistingJobs(): Promise<void>;
50
+ /**
51
+ * @description
52
+ * This method is used to clean up the indexed sets to remove jobs that have been removed from the queue.
53
+ * This is done by checking each job in the indexed set to see if it still exists in the queue. If it does not,
54
+ * it is removed from the indexed set.
55
+ */
56
+ cleanupIndexedSets(): Promise<{
57
+ queueName: string;
58
+ jobsRemoved: number;
59
+ }[]>;
60
+ private createSortedSetKey;
61
+ private createQueueItemKey;
62
+ }
@@ -0,0 +1,297 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.JobListIndexService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const core_1 = require("@vendure/core");
18
+ const bullmq_1 = require("bullmq");
19
+ const constants_1 = require("./constants");
20
+ const utils_1 = require("./utils");
21
+ /**
22
+ * @description
23
+ * In order to efficiently query jobs in the job queue, we use a "sorted set" in Redis to track jobs
24
+ * added to each queue. This allows to quickly fetch a list of jobs in a given queue without needing
25
+ * to iterate over all jobs in the queue and read the job data.
26
+ *
27
+ * By using this approach we can achieve a several order of magnitude improvement in performance
28
+ * over the former approach of iterating over all jobs via the custom LUA script.
29
+ *
30
+ * This also means that we need to periodically clean up the sorted sets to remove jobs that have
31
+ * been removed from the queue (via the automatic removal features of BullMQ). Why do we need to
32
+ * do this scheduled cleanup? Because currently BullMQ does not provide an event for when a job
33
+ * is automatically removed from the queue, so we cannot listen for that event and remove. The
34
+ * "removed" event is only emitted when a job is removed manually via the `remove()` method.
35
+ * See https://github.com/taskforcesh/bullmq/issues/3209#issuecomment-2795102551
36
+ */
37
+ let JobListIndexService = class JobListIndexService {
38
+ constructor(options, processContext) {
39
+ this.options = options;
40
+ this.processContext = processContext;
41
+ this.BATCH_SIZE = 100;
42
+ this.allStates = [
43
+ 'wait',
44
+ 'active',
45
+ 'completed',
46
+ 'failed',
47
+ 'delayed',
48
+ 'waiting-children',
49
+ 'prioritized',
50
+ ];
51
+ }
52
+ /**
53
+ * @description
54
+ * Should be called by the BullMQJobQueueStrategy as soon as the Redis connection and Queue
55
+ * object are available in the init() function.
56
+ */
57
+ register(redisConnection, queue) {
58
+ this.redis = redisConnection;
59
+ this.queue = queue;
60
+ this.queueEvents = new bullmq_1.QueueEvents(queue.name, { connection: redisConnection });
61
+ this.setupEventListeners();
62
+ void this.migrateExistingJobs();
63
+ }
64
+ setupEventListeners() {
65
+ if (this.processContext.isServer)
66
+ return;
67
+ if (!this.queueEvents || !this.queue)
68
+ return;
69
+ // When a job is added to the queue
70
+ this.queueEvents.on('waiting', ({ jobId }) => {
71
+ void this.updateJobIndex(jobId, 'wait');
72
+ });
73
+ this.queueEvents.on('waiting-children', ({ jobId }) => {
74
+ void this.updateJobIndex(jobId, 'waiting-children');
75
+ });
76
+ // When a job starts processing
77
+ this.queueEvents.on('active', ({ jobId }) => {
78
+ void this.updateJobIndex(jobId, 'active');
79
+ });
80
+ // When a job completes successfully
81
+ this.queueEvents.on('completed', ({ jobId }) => {
82
+ void this.updateJobIndex(jobId, 'completed');
83
+ });
84
+ // When a job fails
85
+ this.queueEvents.on('failed', ({ jobId }) => {
86
+ void this.updateJobIndex(jobId, 'failed');
87
+ });
88
+ // When a job is delayed
89
+ this.queueEvents.on('delayed', ({ jobId }) => {
90
+ void this.updateJobIndex(jobId, 'delayed');
91
+ });
92
+ // When a job is removed
93
+ this.queueEvents.on('removed', ({ jobId }) => {
94
+ void this.removeJobFromAllIndices(jobId);
95
+ });
96
+ }
97
+ /**
98
+ * When a job's state changes, we need to update the indexed set
99
+ * to reflect the new state of the job.
100
+ */
101
+ async updateJobIndex(jobId, state) {
102
+ if (!this.redis || !this.queue)
103
+ return;
104
+ try {
105
+ const job = await this.queue.getJob(jobId);
106
+ if (!job)
107
+ return;
108
+ const timestamp = job.timestamp;
109
+ const targetKey = this.createSortedSetKey(job.name, state);
110
+ // Remove from all state indices first
111
+ await this.removeJobFromAllIndices(jobId);
112
+ // Add to the specific state index
113
+ const result = await this.redis.zadd(targetKey, timestamp, jobId);
114
+ if (result === 1) {
115
+ core_1.Logger.debug(`Added job ${jobId} to indexed key: ${targetKey}`, constants_1.loggerCtx);
116
+ }
117
+ }
118
+ catch (err) {
119
+ const error = err;
120
+ core_1.Logger.error(`Failed to update job index: ${error.message}`, constants_1.loggerCtx);
121
+ }
122
+ }
123
+ async removeJobFromAllIndices(jobId) {
124
+ if (!this.redis || !this.queue)
125
+ return;
126
+ try {
127
+ const job = await this.queue.getJob(jobId);
128
+ if (!job)
129
+ return;
130
+ const pipeline = this.redis.pipeline();
131
+ for (const state of this.allStates) {
132
+ const indexedKey = this.createSortedSetKey(job.name, state);
133
+ pipeline.zrem(indexedKey, jobId);
134
+ }
135
+ await pipeline.exec();
136
+ }
137
+ catch (err) {
138
+ const error = err;
139
+ core_1.Logger.error(`Failed to remove job from indices: ${error.message}`, constants_1.loggerCtx);
140
+ }
141
+ }
142
+ /**
143
+ * @description
144
+ * This method is used to migrate existing jobs to use the indexed set method of tracking jobs.
145
+ * When the app bootstraps, we check to see if the existing jobs in the queue have a corresponding
146
+ * indexed set. If not, we create the indexed set and add the jobs to it.
147
+ */
148
+ async migrateExistingJobs() {
149
+ var _a;
150
+ if (this.processContext.isServer) {
151
+ // We only want to perform this work on the worker.
152
+ return;
153
+ }
154
+ if (!this.redis || !this.queue) {
155
+ throw new Error('Redis and Queue must be registered before migrating jobs');
156
+ }
157
+ core_1.Logger.debug('Starting migration of existing jobs to indexed sets...', constants_1.loggerCtx);
158
+ // Get counts of jobs in each state
159
+ const counts = await this.queue.getJobCounts();
160
+ core_1.Logger.debug(`Found job counts: ${JSON.stringify(counts)}`, constants_1.loggerCtx);
161
+ let totalMigrated = 0;
162
+ // Get all jobs from each state
163
+ for (const state of this.allStates) {
164
+ if (counts[state] > 0) {
165
+ core_1.Logger.debug(`Processing ${counts[state]} jobs in ${state} state`, constants_1.loggerCtx);
166
+ if (!this.queue) {
167
+ core_1.Logger.error('Queue is not initialized', constants_1.loggerCtx);
168
+ continue;
169
+ }
170
+ try {
171
+ const jobs = await this.queue.getJobs([state], 0, counts[state]);
172
+ if (!jobs) {
173
+ core_1.Logger.error(`getJobs returned undefined for state ${state}`, constants_1.loggerCtx);
174
+ continue;
175
+ }
176
+ core_1.Logger.debug(`Retrieved ${jobs.length} jobs for state ${state}`, constants_1.loggerCtx);
177
+ // Group jobs by queue name
178
+ const jobsByQueue = new Map();
179
+ for (const job of jobs) {
180
+ if (!job) {
181
+ core_1.Logger.error('Null job found in results', constants_1.loggerCtx);
182
+ continue;
183
+ }
184
+ if (!jobsByQueue.has(job.name)) {
185
+ jobsByQueue.set(job.name, []);
186
+ }
187
+ (_a = jobsByQueue.get(job.name)) === null || _a === void 0 ? void 0 : _a.push(job);
188
+ }
189
+ // Create sorted sets for each queue in this state
190
+ for (const [queueName, queueJobs] of jobsByQueue) {
191
+ const indexedKey = this.createSortedSetKey(queueName, state);
192
+ const exists = await this.redis.exists(indexedKey);
193
+ if (exists === 0) {
194
+ core_1.Logger.info(`Creating indexed set for queue: ${queueName} in state: ${state}`, constants_1.loggerCtx);
195
+ const pipeline = this.redis.pipeline();
196
+ // Add jobs in batches
197
+ for (let i = 0; i < queueJobs.length; i += this.BATCH_SIZE) {
198
+ const batch = queueJobs.slice(i, i + this.BATCH_SIZE);
199
+ const args = batch
200
+ .flatMap(job => [job.timestamp, job.id])
201
+ .filter((id) => id != null);
202
+ pipeline.zadd(indexedKey, ...args);
203
+ }
204
+ await pipeline.exec();
205
+ totalMigrated += queueJobs.length;
206
+ }
207
+ }
208
+ }
209
+ catch (err) {
210
+ const error = err;
211
+ core_1.Logger.error(`Failed to migrate jobs: ${error.message}`, constants_1.loggerCtx);
212
+ }
213
+ }
214
+ }
215
+ if (totalMigrated > 0) {
216
+ core_1.Logger.info(`Successfully migrated ${totalMigrated} jobs to indexed sets`, constants_1.loggerCtx);
217
+ }
218
+ }
219
+ /**
220
+ * @description
221
+ * This method is used to clean up the indexed sets to remove jobs that have been removed from the queue.
222
+ * This is done by checking each job in the indexed set to see if it still exists in the queue. If it does not,
223
+ * it is removed from the indexed set.
224
+ */
225
+ async cleanupIndexedSets() {
226
+ if (!this.redis || !this.queue) {
227
+ throw new Error('Redis and Queue must be registered before cleaning up indexed sets');
228
+ }
229
+ // Get all queue names from our indexed sets
230
+ const allStateKeys = this.createSortedSetKey('*');
231
+ const keys = await this.redis.keys(allStateKeys);
232
+ const result = [];
233
+ const startTime = Date.now();
234
+ core_1.Logger.verbose(`Cleaning up ${keys.length} indexed sets`, constants_1.loggerCtx);
235
+ for (const key of keys) {
236
+ let cursor = '0';
237
+ let jobsRemoved = 0;
238
+ // Use ZSCAN to iterate over the set in batches
239
+ do {
240
+ const [nextCursor, elements] = await this.redis.zscan(key, cursor, 'COUNT', this.BATCH_SIZE);
241
+ cursor = nextCursor;
242
+ if (elements.length > 0) {
243
+ // Extract job IDs from the elements (they come as [score, id] pairs)
244
+ const jobIds = elements.filter((_, i) => i % 2 === 0);
245
+ // Check existence of jobs directly in Redis
246
+ const pipeline = this.redis.pipeline();
247
+ for (const jobId of jobIds) {
248
+ pipeline.exists(this.createQueueItemKey(jobId));
249
+ }
250
+ const existsResults = await pipeline.exec();
251
+ // Filter out non-existent jobs
252
+ const jobsToRemove = jobIds.filter((jobId, i) => {
253
+ var _a;
254
+ const exists = ((_a = existsResults === null || existsResults === void 0 ? void 0 : existsResults[i]) === null || _a === void 0 ? void 0 : _a[1]) === 1;
255
+ return !exists;
256
+ });
257
+ if (jobsToRemove.length > 0) {
258
+ await this.redis.zrem(key, ...jobsToRemove);
259
+ jobsRemoved += jobsToRemove.length;
260
+ }
261
+ }
262
+ } while (cursor !== '0');
263
+ if (jobsRemoved > 0) {
264
+ core_1.Logger.verbose(`Cleaned up ${jobsRemoved} non-existent jobs from indexed key: ${key}`, constants_1.loggerCtx);
265
+ }
266
+ result.push({ queueName: key, jobsRemoved });
267
+ }
268
+ const endTime = Date.now();
269
+ core_1.Logger.verbose(`Cleaned up ${keys.length} indexed sets in ${endTime - startTime}ms`, constants_1.loggerCtx);
270
+ return result;
271
+ }
272
+ createSortedSetKey(queueName, state) {
273
+ const prefix = (0, utils_1.getPrefix)(this.options);
274
+ if (!this.queue) {
275
+ throw new Error('Queue is not initialized');
276
+ }
277
+ let key = `${prefix}:${this.queue.name}:queue:${queueName}`;
278
+ if (state) {
279
+ key += `:${state}`;
280
+ }
281
+ return key;
282
+ }
283
+ createQueueItemKey(jobId) {
284
+ const prefix = (0, utils_1.getPrefix)(this.options);
285
+ if (!this.queue) {
286
+ throw new Error('Queue is not initialized');
287
+ }
288
+ return `${prefix}:${this.queue.name}:${jobId}`;
289
+ }
290
+ };
291
+ exports.JobListIndexService = JobListIndexService;
292
+ exports.JobListIndexService = JobListIndexService = __decorate([
293
+ (0, common_1.Injectable)(),
294
+ __param(0, (0, common_1.Inject)(constants_1.BULLMQ_PLUGIN_OPTIONS)),
295
+ __metadata("design:paramtypes", [Object, core_1.ProcessContext])
296
+ ], JobListIndexService);
297
+ //# sourceMappingURL=job-list-index.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-list-index.service.js","sourceRoot":"","sources":["../../src/bullmq/job-list-index.service.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,11 @@ import { BullMQPluginOptions } from './types';
20
20
  *
21
21
  * ## Installation
22
22
  *
23
- * `yarn add \@vendure/job-queue-plugin bullmq`
23
+ * Note: To use this plugin, you need to manually install the `bullmq` package:
24
24
  *
25
- * or
26
- *
27
- * `npm install \@vendure/job-queue-plugin bullmq`
25
+ * ```shell
26
+ * npm install bullmq@^5.4.2
27
+ * ```
28
28
  *
29
29
  * **Note:** The v1.x version of this plugin is designed to work with bullmq v1.x, etc.
30
30
  *
@@ -9,7 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.BullMQJobQueuePlugin = void 0;
10
10
  const core_1 = require("@vendure/core");
11
11
  const bullmq_job_queue_strategy_1 = require("./bullmq-job-queue-strategy");
12
+ const clean_indexed_sets_task_1 = require("./clean-indexed-sets-task");
12
13
  const constants_1 = require("./constants");
14
+ const job_list_index_service_1 = require("./job-list-index.service");
13
15
  const redis_health_check_strategy_1 = require("./redis-health-check-strategy");
14
16
  const redis_health_indicator_1 = require("./redis-health-indicator");
15
17
  const redis_job_buffer_storage_strategy_1 = require("./redis-job-buffer-storage-strategy");
@@ -34,11 +36,11 @@ const redis_job_buffer_storage_strategy_1 = require("./redis-job-buffer-storage-
34
36
  *
35
37
  * ## Installation
36
38
  *
37
- * `yarn add \@vendure/job-queue-plugin bullmq`
39
+ * Note: To use this plugin, you need to manually install the `bullmq` package:
38
40
  *
39
- * or
40
- *
41
- * `npm install \@vendure/job-queue-plugin bullmq`
41
+ * ```shell
42
+ * npm install bullmq@^5.4.2
43
+ * ```
42
44
  *
43
45
  * **Note:** The v1.x version of this plugin is designed to work with bullmq v1.x, etc.
44
46
  *
@@ -211,11 +213,13 @@ exports.BullMQJobQueuePlugin = BullMQJobQueuePlugin = __decorate([
211
213
  config.jobQueueOptions.jobQueueStrategy = new bullmq_job_queue_strategy_1.BullMQJobQueueStrategy();
212
214
  config.jobQueueOptions.jobBufferStorageStrategy = new redis_job_buffer_storage_strategy_1.RedisJobBufferStorageStrategy();
213
215
  config.systemOptions.healthChecks.push(new redis_health_check_strategy_1.RedisHealthCheckStrategy());
216
+ config.schedulerOptions.tasks.push(clean_indexed_sets_task_1.cleanIndexedSetsTask);
214
217
  return config;
215
218
  },
216
219
  providers: [
217
220
  { provide: constants_1.BULLMQ_PLUGIN_OPTIONS, useFactory: () => BullMQJobQueuePlugin.options },
218
221
  redis_health_indicator_1.RedisHealthIndicator,
222
+ job_list_index_service_1.JobListIndexService,
219
223
  ],
220
224
  compatibility: '^3.0.0',
221
225
  })
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/bullmq/plugin.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wCAAkE;AAElE,2EAAqE;AACrE,2CAAoD;AACpD,+EAAyE;AACzE,qEAAgE;AAChE,2FAAoF;AAGpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmLG;AAeI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG7B;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,OAA4B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAXY,oDAAoB;+BAApB,oBAAoB;IAdhC,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,kDAAsB,EAAE,CAAC;YACvE,MAAM,CAAC,eAAe,CAAC,wBAAwB,GAAG,IAAI,iEAA6B,EAAE,CAAC;YACtF,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,sDAAwB,EAAE,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,iCAAqB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE;YAClF,6CAAoB;SACvB;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,oBAAoB,CAWhC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/bullmq/plugin.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wCAAkE;AAElE,2EAAqE;AACrE,uEAAiE;AACjE,2CAAoD;AACpD,qEAA+D;AAC/D,+EAAyE;AACzE,qEAAgE;AAChE,2FAAoF;AAGpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmLG;AAiBI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG7B;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,OAA4B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAXY,oDAAoB;+BAApB,oBAAoB;IAhBhC,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,kDAAsB,EAAE,CAAC;YACvE,MAAM,CAAC,eAAe,CAAC,wBAAwB,GAAG,IAAI,iEAA6B,EAAE,CAAC;YACtF,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,sDAAwB,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,8CAAoB,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,iCAAqB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE;YAClF,6CAAoB;YACpB,4CAAmB;SACtB;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,oBAAoB,CAWhC"}
@@ -3,8 +3,8 @@ export declare const getJobsByType: CustomScriptDefinition<[
3
3
  totalItems: number,
4
4
  jobIds: string[]
5
5
  ], [
6
- rangeStart: number,
7
- rangeEnd: number,
6
+ skip: number,
7
+ take: number,
8
8
  queueName: string | undefined,
9
9
  ...states: string[]
10
10
  ]>;
@@ -1,110 +1,141 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getJobsByType = void 0;
4
+ // language=Lua
4
5
  const script = `--[[
5
- Get job ids per provided states and filter by name
6
+ Get job ids per provided states and filter by name - Optimized version using indexed structure
6
7
  Input:
7
8
  KEYS[1] 'prefix'
8
- ARGV[1] start
9
- ARGV[2] end
9
+ ARGV[1] skip
10
+ ARGV[2] take
10
11
  ARGV[3] filterName
11
12
  ARGV[4...] types
12
13
  ]]
13
14
  local rcall = redis.call
14
15
  local prefix = KEYS[1]
15
- local rangeStart = tonumber(ARGV[1])
16
- local rangeEnd = tonumber(ARGV[2])
16
+ local skip = tonumber(ARGV[1])
17
+ local take = tonumber(ARGV[2])
17
18
  local filterName = ARGV[3]
18
19
  local results = {}
20
+ local totalResults = 0
19
21
 
20
- local targetSets = {}
21
-
22
- -- Initialize an empty array to hold the sets to unionize. The "completed" and "failed" lists
23
- -- are sorted sets
24
- local setsToUnionize = {}
25
- local typesInUnion = {}
26
-
27
- -- Initialize an empty array to hold lists to include. The "active" and "wait" lists are
28
- -- regular lists
29
- local listsToInclude = {}
30
-
31
-
32
- -- Iterate through ARGV starting from the first element (ARGV[1]) up to the end
33
- for i = 4, #ARGV do
34
- local setKey = prefix .. ARGV[i]
35
-
36
- -- Check if the setKey is valid (e.g., it exists and is a sorted set)
37
- local targetExists = redis.call('EXISTS', setKey)
38
- local listType = redis.call('TYPE', setKey).ok
39
-
40
- if targetExists == 1 and listType == 'zset' then
41
- -- Add the valid set to the array
42
- table.insert(setsToUnionize, setKey)
43
- table.insert(typesInUnion, ARGV[i])
44
- end
45
- if targetExists == 1 and listType == 'list' then
46
- -- Add the valid set to the array
47
- table.insert(listsToInclude, setKey)
48
- table.insert(typesInUnion, ARGV[i])
49
- end
50
- end
22
+ -- redis.log(redis.LOG_NOTICE, 'Filter name: "' .. filterName .. '"')
23
+ -- redis.log(redis.LOG_NOTICE, 'Filter name length: ' .. tostring(#filterName))
24
+ -- redis.log(redis.LOG_NOTICE, 'Number of ARGV: ' .. tostring(#ARGV))
25
+ -- redis.log(redis.LOG_NOTICE, 'skip: "' .. tostring(skip) .. '"')
26
+ -- redis.log(redis.LOG_NOTICE, 'take: "' .. tostring(take) .. '"')
51
27
 
52
- -- Define the destination key for the concatenated sorted set
53
- local tempSortedSetUnionKey = prefix .. 'union:' .. table.concat(typesInUnion, ':');
28
+ -- Create a temporary key for merging results
29
+ local tempKey = prefix .. 'temp:merge:' .. math.random(1000000)
30
+ local sourceKeys = {}
54
31
 
55
- if #listsToInclude == 0 and #setsToUnionize == 0 then
56
- return {0, {}}
32
+ -- Function to count jobs in a sorted set
33
+ local function countJobsInSortedSet(key)
34
+ return rcall('ZCARD', key) or 0
57
35
  end
58
36
 
59
- -- Check if there are valid sets to unionize
60
- if #setsToUnionize > 0 then
61
- -- Use ZUNIONSTORE to concatenate the valid sorted sets into the destination key
62
- local numSets = #setsToUnionize
63
- redis.call('ZUNIONSTORE', tempSortedSetUnionKey, numSets, unpack(setsToUnionize))
37
+ -- Function to count jobs in a list
38
+ local function countJobsInList(key)
39
+ return rcall('LLEN', key) or 0
64
40
  end
65
41
 
66
- local originalResults = rcall("ZREVRANGE", tempSortedSetUnionKey, 0, -1)
67
-
68
-
69
- if #listsToInclude > 0 then
70
- for _, listKey in ipairs(listsToInclude) do
71
- local list = rcall("LRANGE", listKey, 0, -1)
72
- for _, jobId in ipairs(list) do
73
- table.insert(originalResults, jobId)
42
+ -- First count total jobs and collect source keys
43
+ if filterName ~= "" then
44
+ -- When filtering by name, we need to check each state
45
+ for i = 4, #ARGV do
46
+ local state = ARGV[i]
47
+ -- redis.log(redis.LOG_NOTICE, 'Processing state: "' .. state .. '"')
48
+ local indexedKey = prefix .. 'queue:' .. filterName .. ':' .. state
49
+ -- redis.log(redis.LOG_NOTICE, 'Looking for key: ' .. indexedKey)
50
+ local keyType = rcall('TYPE', indexedKey).ok
51
+ -- redis.log(redis.LOG_NOTICE, 'Key type: ' .. keyType)
52
+
53
+ if keyType == 'zset' then
54
+ totalResults = totalResults + countJobsInSortedSet(indexedKey)
55
+ table.insert(sourceKeys, indexedKey)
56
+ elseif keyType == 'list' then
57
+ totalResults = totalResults + countJobsInList(indexedKey)
58
+ end
59
+ end
60
+ else
61
+ -- No filter, count all types
62
+ for i = 4, #ARGV do
63
+ local state = ARGV[i]
64
+ -- redis.log(redis.LOG_NOTICE, 'Processing state: "' .. state .. '"')
65
+ local key = prefix .. state
66
+ -- redis.log(redis.LOG_NOTICE, 'Looking for key: ' .. key)
67
+ local keyType = rcall('TYPE', key).ok
68
+ -- redis.log(redis.LOG_NOTICE, 'Key type: ' .. keyType)
69
+
70
+ if keyType == 'zset' then
71
+ totalResults = totalResults + countJobsInSortedSet(key)
72
+ table.insert(sourceKeys, key)
73
+ elseif keyType == 'list' then
74
+ totalResults = totalResults + countJobsInList(key)
74
75
  end
75
76
  end
76
77
  end
77
78
 
79
+ -- If we have any sorted sets to merge, do it
80
+ if #sourceKeys > 0 then
81
+ -- Calculate how many elements we need to merge
82
+ local neededElements = skip + take
83
+ -- redis.log(redis.LOG_NOTICE, 'Number of source keys: ' .. tostring(#sourceKeys))
84
+ -- redis.log(redis.LOG_NOTICE, 'Needed elements: ' .. tostring(neededElements))
85
+
86
+ -- Create temporary keys for each source set with limited elements
87
+ local limitedKeys = {}
88
+ for i, sourceKey in ipairs(sourceKeys) do
89
+ local limitedKey = tempKey .. ':limited:' .. i
90
+ -- redis.log(redis.LOG_NOTICE, 'Processing source key: ' .. sourceKey)
91
+ -- Get only the elements we need from each source set
92
+ local elements = rcall('ZREVRANGE', sourceKey, 0, neededElements - 1, 'WITHSCORES')
93
+ -- redis.log(redis.LOG_NOTICE, 'Found ' .. tostring(#elements) .. ' elements in ' .. sourceKey)
94
+ if #elements > 0 then
95
+ -- Process elements in pairs (member, score)
96
+ local chunkSize = 1000 -- Process in chunks of 1000 elements
97
+ for j = 1, #elements, chunkSize * 2 do
98
+ local chunkEnd = math.min(j + chunkSize * 2 - 1, #elements)
99
+ local chunkArgs = {}
100
+ for k = j, chunkEnd, 2 do
101
+ local member = elements[k]
102
+ local score = elements[k + 1]
103
+ table.insert(chunkArgs, score)
104
+ table.insert(chunkArgs, member)
105
+ end
106
+ if #chunkArgs > 0 then
107
+ rcall('ZADD', limitedKey, unpack(chunkArgs))
108
+ end
109
+ end
110
+ table.insert(limitedKeys, limitedKey)
111
+ -- redis.log(redis.LOG_NOTICE, 'Added to limited key: ' .. limitedKey)
112
+ end
113
+ end
78
114
 
79
- -- Define a custom comparison function for sorting in descending order
80
- local function compareDescending(a, b)
81
- return tonumber(a) > tonumber(b)
82
- end
115
+ -- redis.log(redis.LOG_NOTICE, 'Number of limited keys: ' .. tostring(#limitedKeys))
83
116
 
84
- -- Sort the table in descending order
85
- table.sort(originalResults, compareDescending)
117
+ if #limitedKeys > 0 then
118
+ -- Merge the limited sets
119
+ rcall('ZUNIONSTORE', tempKey, #limitedKeys, unpack(limitedKeys))
120
+ -- redis.log(redis.LOG_NOTICE, 'Merged sets into: ' .. tempKey)
86
121
 
87
- local filteredResults = {}
88
- local totalResults = 0
122
+ -- Get the paginated results from the merged set
123
+ results = rcall('ZREVRANGE', tempKey, skip, skip + take - 1)
124
+ -- redis.log(redis.LOG_NOTICE, 'Got ' .. tostring(#results) .. ' results from merged set')
89
125
 
90
- for _, job in ipairs(originalResults) do
91
- local jobName = rcall("HGET", prefix .. job, "name");
92
- if filterName ~= "" and jobName == filterName then
93
- if rangeStart <= totalResults and #filteredResults < rangeEnd then
94
- table.insert(filteredResults, job)
95
- end
96
- totalResults = totalResults + 1
97
- elseif filterName == "" then
98
- if rangeStart <= totalResults and #filteredResults < rangeEnd then
99
- table.insert(filteredResults, job)
126
+ -- Clean up temporary limited keys
127
+ for _, key in ipairs(limitedKeys) do
128
+ rcall('DEL', key)
129
+ end
130
+ else
131
+ -- redis.log(redis.LOG_NOTICE, 'No elements found in any source sets')
100
132
  end
101
- totalResults = totalResults + 1
102
- end
103
133
  end
104
134
 
105
- rcall("DEL", tempSortedSetUnionKey)
135
+ -- Clean up temporary key
136
+ rcall('DEL', tempKey)
106
137
 
107
- return {totalResults, filteredResults}
138
+ return {totalResults, results}
108
139
  `;
109
140
  exports.getJobsByType = {
110
141
  script,
@@ -1 +1 @@
1
- {"version":3,"file":"get-jobs-by-type.js","sourceRoot":"","sources":["../../../src/bullmq/scripts/get-jobs-by-type.ts"],"names":[],"mappings":";;;AAGA,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGd,CAAC;AAEW,QAAA,aAAa,GAGtB;IACA,MAAM;IACN,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,eAAe;CACxB,CAAC"}
1
+ {"version":3,"file":"get-jobs-by-type.js","sourceRoot":"","sources":["../../../src/bullmq/scripts/get-jobs-by-type.ts"],"names":[],"mappings":";;;AAEA,eAAe;AACf,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsId,CAAC;AAEW,QAAA,aAAa,GAGtB;IACA,MAAM;IACN,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,eAAe;CACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { BullMQPluginOptions } from "./types";
2
+ export declare function getPrefix(options: BullMQPluginOptions): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPrefix = getPrefix;
4
+ function getPrefix(options) {
5
+ var _a, _b;
6
+ return (_b = (_a = options.workerOptions) === null || _a === void 0 ? void 0 : _a.prefix) !== null && _b !== void 0 ? _b : 'bull';
7
+ }
8
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bullmq/utils.ts"],"names":[],"mappings":";;AAEA,8BAEC;AAFD,SAAgB,SAAS,CAAC,OAA4B;;IAClD,OAAO,MAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,MAAM,mCAAI,MAAM,CAAC;AACnD,CAAC"}
@@ -1,5 +1,19 @@
1
1
  import { Type } from '@vendure/core';
2
2
  import { PubSubOptions } from './options';
3
+ /**
4
+ * @description
5
+ * This plugin uses Google Cloud Pub/Sub to implement a job queue strategy for Vendure.
6
+ *
7
+ * ## Installation
8
+ *
9
+ * Note: To use this plugin, you need to manually install the `@google-cloud/pubsub` package:
10
+ *
11
+ * ```shell
12
+ * npm install @google-cloud/pubsub@^2.8.0
13
+ * ```
14
+ *
15
+ * @docsCategory core plugins/JobQueuePlugin
16
+ */
3
17
  export declare class PubSubPlugin {
4
18
  private static options;
5
19
  static init(options: PubSubOptions): Type<PubSubPlugin>;
@@ -12,6 +12,20 @@ const pubsub_1 = require("@google-cloud/pubsub");
12
12
  const core_1 = require("@vendure/core");
13
13
  const constants_1 = require("./constants");
14
14
  const pub_sub_job_queue_strategy_1 = require("./pub-sub-job-queue-strategy");
15
+ /**
16
+ * @description
17
+ * This plugin uses Google Cloud Pub/Sub to implement a job queue strategy for Vendure.
18
+ *
19
+ * ## Installation
20
+ *
21
+ * Note: To use this plugin, you need to manually install the `@google-cloud/pubsub` package:
22
+ *
23
+ * ```shell
24
+ * npm install @google-cloud/pubsub@^2.8.0
25
+ * ```
26
+ *
27
+ * @docsCategory core plugins/JobQueuePlugin
28
+ */
15
29
  let PubSubPlugin = PubSubPlugin_1 = class PubSubPlugin {
16
30
  static init(options) {
17
31
  this.options = options;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/pub-sub/plugin.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,iDAA8C;AAC9C,wCAAwE;AAExE,2CAA8C;AAE9C,6EAAsE;AAc/D,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAGrB,MAAM,CAAC,IAAI,CAAC,OAAsB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,cAAY,CAAC;IACxB,CAAC;CACJ,CAAA;AAPY,oCAAY;uBAAZ,YAAY;IAZxB,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,2BAAe,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE;YACpE,EAAE,OAAO,EAAE,eAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAM,EAAE,EAAE;SACtD;QACD,aAAa,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,mDAAsB,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,YAAY,CAOxB"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/pub-sub/plugin.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,iDAA8C;AAC9C,wCAAwE;AAExE,2CAA8C;AAE9C,6EAAsE;AAEtE;;;;;;;;;;;;;GAaG;AAaI,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAGrB,MAAM,CAAC,IAAI,CAAC,OAAsB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,cAAY,CAAC;IACxB,CAAC;CACJ,CAAA;AAPY,oCAAY;uBAAZ,YAAY;IAZxB,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,2BAAe,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE;YACpE,EAAE,OAAO,EAAE,eAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAM,EAAE,EAAE;SACtD;QACD,aAAa,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,eAAe,CAAC,gBAAgB,GAAG,IAAI,mDAAsB,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,YAAY,CAOxB"}
@@ -1,4 +1,17 @@
1
1
  import { InjectableJobQueueStrategy, Injector, Job, JobData, JobQueueStrategy } from '@vendure/core';
2
+ /**
3
+ * @description
4
+ * This JobQueueStrategy uses Google Cloud Pub/Sub to implement a job queue for Vendure.
5
+ * It should not be used alone, but as part of the {@link PubSubPlugin}.
6
+ *
7
+ * Note: To use this strategy, you need to manually install the `@google-cloud/pubsub` package:
8
+ *
9
+ * ```shell
10
+ * npm install @google-cloud/pubsub@^2.8.0
11
+ * ```
12
+ *
13
+ * @docsCategory core plugins/JobQueuePlugin
14
+ */
2
15
  export declare class PubSubJobQueueStrategy extends InjectableJobQueueStrategy implements JobQueueStrategy {
3
16
  private concurrency;
4
17
  private queueNamePubSubPair;
@@ -5,6 +5,19 @@ const pubsub_1 = require("@google-cloud/pubsub");
5
5
  const generated_types_1 = require("@vendure/common/lib/generated-types");
6
6
  const core_1 = require("@vendure/core");
7
7
  const constants_1 = require("./constants");
8
+ /**
9
+ * @description
10
+ * This JobQueueStrategy uses Google Cloud Pub/Sub to implement a job queue for Vendure.
11
+ * It should not be used alone, but as part of the {@link PubSubPlugin}.
12
+ *
13
+ * Note: To use this strategy, you need to manually install the `@google-cloud/pubsub` package:
14
+ *
15
+ * ```shell
16
+ * npm install @google-cloud/pubsub@^2.8.0
17
+ * ```
18
+ *
19
+ * @docsCategory core plugins/JobQueuePlugin
20
+ */
8
21
  class PubSubJobQueueStrategy extends core_1.InjectableJobQueueStrategy {
9
22
  constructor() {
10
23
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"pub-sub-job-queue-strategy.js","sourceRoot":"","sources":["../../src/pub-sub/pub-sub-job-queue-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pub-sub-job-queue-strategy.js","sourceRoot":"","sources":["../../src/pub-sub/pub-sub-job-queue-strategy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/job-queue-plugin",
3
- "version": "3.3.2",
3
+ "version": "3.3.4-master-202506180847",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "main": "package/index.js",
6
6
  "types": "package/index.d.ts",
@@ -27,12 +27,28 @@
27
27
  },
28
28
  "devDependencies": {
29
29
  "@google-cloud/pubsub": "^2.8.0",
30
- "@vendure/common": "3.3.2",
31
- "@vendure/core": "3.3.2",
30
+ "@vendure/common": "^3.3.4-master-202506180847",
31
+ "@vendure/core": "^3.3.4-master-202506180847",
32
32
  "bullmq": "^5.4.2",
33
33
  "ioredis": "^5.3.2",
34
34
  "rimraf": "^5.0.5",
35
35
  "typescript": "5.8.2"
36
36
  },
37
- "gitHead": "18a7e1f05da5921cc9478db90066654e502bea41"
37
+ "peerDependencies": {
38
+ "@google-cloud/pubsub": "^2.8.0",
39
+ "bullmq": "^5.4.2",
40
+ "ioredis": "^5.3.2"
41
+ },
42
+ "peerDependenciesMeta": {
43
+ "bullmq": {
44
+ "optional": true
45
+ },
46
+ "ioredis": {
47
+ "optional": true
48
+ },
49
+ "@google-cloud/pubsub": {
50
+ "optional": true
51
+ }
52
+ },
53
+ "gitHead": "ad4e717a6d973552a4139311ba7e2c466df6062d"
38
54
  }