@vendure/job-queue-plugin 3.7.2-master-202607220305 → 3.7.2-master-202607240306

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.
@@ -36,6 +36,12 @@ export declare class BullMQJobQueueStrategy implements InspectableJobQueueStrate
36
36
  destroy(): Promise<void>;
37
37
  add<Data extends JobData<Data> = object>(job: Job<Data>): Promise<Job<Data>>;
38
38
  cancelJob(jobId: string): Promise<Job | undefined>;
39
+ /**
40
+ * Maps a Vendure JobState to the BullMQ job types which hold jobs in that state.
41
+ * Jobs awaiting a retry after failure are stored in the 'delayed' state, and
42
+ * cancelled jobs are stored as 'failed'.
43
+ */
44
+ private jobStateToJobTypes;
39
45
  findMany(options?: JobListOptions): Promise<PaginatedList<Job>>;
40
46
  findManyById(ids: ID[]): Promise<Job[]>;
41
47
  findOne(id: ID): Promise<Job | undefined>;
@@ -118,8 +118,13 @@ class BullMQJobQueueStrategy {
118
118
  this.jobListIndexService.register(this.redisConnection, this.queue);
119
119
  }
120
120
  async destroy() {
121
+ var _a;
121
122
  const workerClosePromises = Array.from(this.workers.values()).map(w => w.close());
122
- await Promise.all([this.queue.close(), ...workerClosePromises]);
123
+ await Promise.all([
124
+ this.queue.close(),
125
+ (_a = this.jobListIndexService) === null || _a === void 0 ? void 0 : _a.close(),
126
+ ...workerClosePromises,
127
+ ]);
123
128
  }
124
129
  async add(job) {
125
130
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
@@ -153,59 +158,43 @@ class BullMQJobQueueStrategy {
153
158
  }
154
159
  }
155
160
  }
161
+ /**
162
+ * Maps a Vendure JobState to the BullMQ job types which hold jobs in that state.
163
+ * Jobs awaiting a retry after failure are stored in the 'delayed' state, and
164
+ * cancelled jobs are stored as 'failed'.
165
+ */
166
+ jobStateToJobTypes(state) {
167
+ switch (state) {
168
+ case 'PENDING':
169
+ return ['wait', 'waiting-children', 'prioritized'];
170
+ case 'RUNNING':
171
+ return ['active'];
172
+ case 'COMPLETED':
173
+ return ['completed'];
174
+ case 'RETRYING':
175
+ return ['delayed'];
176
+ case 'FAILED':
177
+ case 'CANCELLED':
178
+ return ['failed'];
179
+ default:
180
+ return [];
181
+ }
182
+ }
156
183
  async findMany(options) {
157
- var _a, _b, _c, _d, _e, _f;
184
+ var _a, _b, _c, _d;
158
185
  const skip = (_a = options === null || options === void 0 ? void 0 : options.skip) !== null && _a !== void 0 ? _a : 0;
159
186
  const take = (_b = options === null || options === void 0 ? void 0 : options.take) !== null && _b !== void 0 ? _b : 10;
160
187
  let jobTypes = constants_1.ALL_JOB_TYPES;
161
188
  const flatFilter = (0, utils_1.flattenJobFilter)(options === null || options === void 0 ? void 0 : options.filter);
162
189
  const stateFilter = flatFilter.state;
163
190
  if (stateFilter === null || stateFilter === void 0 ? void 0 : stateFilter.eq) {
164
- switch (stateFilter.eq) {
165
- case 'PENDING':
166
- jobTypes = ['wait', 'waiting-children', 'prioritized'];
167
- break;
168
- case 'RUNNING':
169
- jobTypes = ['active'];
170
- break;
171
- case 'COMPLETED':
172
- jobTypes = ['completed'];
173
- break;
174
- case 'RETRYING':
175
- jobTypes = ['repeat'];
176
- break;
177
- case 'FAILED':
178
- jobTypes = ['failed'];
179
- break;
180
- case 'CANCELLED':
181
- jobTypes = ['failed'];
182
- break;
191
+ const mapped = this.jobStateToJobTypes(stateFilter.eq);
192
+ if (mapped.length) {
193
+ jobTypes = mapped;
183
194
  }
184
195
  }
185
196
  if ((_c = stateFilter === null || stateFilter === void 0 ? void 0 : stateFilter.in) === null || _c === void 0 ? void 0 : _c.length) {
186
- const stateJobTypes = [];
187
- for (const state of stateFilter.in) {
188
- switch (state) {
189
- case 'PENDING':
190
- stateJobTypes.push('wait', 'waiting-children', 'prioritized');
191
- break;
192
- case 'RUNNING':
193
- stateJobTypes.push('active');
194
- break;
195
- case 'COMPLETED':
196
- stateJobTypes.push('completed');
197
- break;
198
- case 'RETRYING':
199
- stateJobTypes.push('repeat');
200
- break;
201
- case 'FAILED':
202
- stateJobTypes.push('failed');
203
- break;
204
- case 'CANCELLED':
205
- stateJobTypes.push('failed');
206
- break;
207
- }
208
- }
197
+ const stateJobTypes = stateFilter.in.flatMap(state => this.jobStateToJobTypes(state));
209
198
  if (stateJobTypes.length) {
210
199
  jobTypes = [...new Set(stateJobTypes)];
211
200
  }
@@ -215,17 +204,18 @@ class BullMQJobQueueStrategy {
215
204
  jobTypes =
216
205
  settledFilter.eq === true
217
206
  ? ['completed', 'failed']
218
- : ['wait', 'waiting-children', 'active', 'repeat', 'delayed', 'paused', 'prioritized'];
207
+ : ['wait', 'waiting-children', 'active', 'delayed', 'paused', 'prioritized'];
219
208
  }
220
209
  let items = [];
221
210
  let totalItems = 0;
222
211
  const queueNameFilter = flatFilter.queueName;
223
- const queueName = (_f = (_d = queueNameFilter === null || queueNameFilter === void 0 ? void 0 : queueNameFilter.eq) !== null && _d !== void 0 ? _d : (_e = queueNameFilter === null || queueNameFilter === void 0 ? void 0 : queueNameFilter.in) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : '';
212
+ const queueNames = (queueNameFilter === null || queueNameFilter === void 0 ? void 0 : queueNameFilter.eq) ? [queueNameFilter.eq] : ((_d = queueNameFilter === null || queueNameFilter === void 0 ? void 0 : queueNameFilter.in) !== null && _d !== void 0 ? _d : []);
224
213
  try {
225
214
  const [total, jobIds] = await this.callCustomScript(get_jobs_by_type_1.getJobsByType, [
226
215
  skip,
227
216
  take,
228
- queueName,
217
+ queueNames.length,
218
+ ...queueNames,
229
219
  ...jobTypes,
230
220
  ]);
231
221
  items = (await Promise.all(jobIds.map(id => {
@@ -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":"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"}
@@ -5,11 +5,12 @@ exports.loggerCtx = 'BullMQJobQueuePlugin';
5
5
  exports.BULLMQ_PLUGIN_OPTIONS = Symbol('BULLMQ_PLUGIN_OPTIONS');
6
6
  exports.QUEUE_NAME = 'vendure-job-queue';
7
7
  exports.DEFAULT_CONCURRENCY = 3;
8
+ // Note: 'repeat' is deliberately not included, since the `repeat` key holds
9
+ // repeatable-job configuration entries rather than job ids.
8
10
  exports.ALL_JOB_TYPES = [
9
11
  'completed',
10
12
  'failed',
11
13
  'delayed',
12
- 'repeat',
13
14
  'waiting-children',
14
15
  'active',
15
16
  'wait',
@@ -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;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"}
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;AAErC,4EAA4E;AAC5E,4DAA4D;AAC/C,QAAA,aAAa,GAAc;IACpC,WAAW;IACX,QAAQ;IACR,SAAS;IACT,kBAAkB;IAClB,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,aAAa;CAChB,CAAC"}
@@ -25,6 +25,7 @@ export declare class JobListIndexService {
25
25
  private redis;
26
26
  private queue;
27
27
  private queueEvents;
28
+ private readonly indexOperationChains;
28
29
  private allStates;
29
30
  constructor(options: BullMQPluginOptions, processContext: ProcessContext);
30
31
  /**
@@ -33,12 +34,33 @@ export declare class JobListIndexService {
33
34
  * object are available in the init() function.
34
35
  */
35
36
  register(redisConnection: Redis | Cluster, queue: Queue): void;
37
+ /**
38
+ * @description
39
+ * Closes the QueueEvents connection. Should be called when the strategy is destroyed.
40
+ */
41
+ close(): Promise<void>;
36
42
  private setupEventListeners;
43
+ /**
44
+ * Registers a QueueEvents listener which re-indexes the job under the given state.
45
+ */
46
+ private indexOnEvent;
47
+ /**
48
+ * The event handlers fire in event-stream order but run asynchronously, so two
49
+ * updates for the same job could otherwise interleave and leave the job indexed
50
+ * under a stale state. Chaining the operations per job id preserves the order.
51
+ */
52
+ private enqueueIndexOperation;
37
53
  /**
38
54
  * When a job's state changes, we need to update the indexed set
39
55
  * to reflect the new state of the job.
40
56
  */
41
57
  private updateJobIndex;
58
+ /**
59
+ * By the time the 'removed' event is handled, the job data has already been
60
+ * deleted from Redis, so the queue name cannot be looked up from the job.
61
+ * Instead, the registry of known queue names is used to clear the id from
62
+ * every indexed set it could be in.
63
+ */
42
64
  private removeJobFromAllIndices;
43
65
  /**
44
66
  * @description
@@ -59,4 +81,11 @@ export declare class JobListIndexService {
59
81
  }[]>;
60
82
  private createSortedSetKey;
61
83
  private createQueueItemKey;
84
+ /**
85
+ * The registry is a Redis set holding all Vendure queue names which have been
86
+ * indexed. It allows removal of a job id from all indexed sets even when the
87
+ * job data (and with it the queue name) is no longer available, and lets the
88
+ * getJobsByType script enumerate every indexed set for unfiltered queries.
89
+ */
90
+ private createRegistryKey;
62
91
  }
@@ -39,6 +39,7 @@ let JobListIndexService = class JobListIndexService {
39
39
  this.options = options;
40
40
  this.processContext = processContext;
41
41
  this.BATCH_SIZE = 100;
42
+ this.indexOperationChains = new Map();
42
43
  this.allStates = [
43
44
  'wait',
44
45
  'active',
@@ -57,41 +58,59 @@ let JobListIndexService = class JobListIndexService {
57
58
  register(redisConnection, queue) {
58
59
  this.redis = redisConnection;
59
60
  this.queue = queue;
60
- this.queueEvents = new bullmq_1.QueueEvents(queue.name, { connection: redisConnection });
61
+ this.queueEvents = new bullmq_1.QueueEvents(queue.name, {
62
+ connection: redisConnection,
63
+ prefix: (0, utils_1.getPrefix)(this.options),
64
+ });
61
65
  this.setupEventListeners();
62
66
  void this.migrateExistingJobs();
63
67
  }
68
+ /**
69
+ * @description
70
+ * Closes the QueueEvents connection. Should be called when the strategy is destroyed.
71
+ */
72
+ async close() {
73
+ var _a;
74
+ await ((_a = this.queueEvents) === null || _a === void 0 ? void 0 : _a.close());
75
+ }
64
76
  setupEventListeners() {
65
77
  if (this.processContext.isServer)
66
78
  return;
67
79
  if (!this.queueEvents || !this.queue)
68
80
  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
- });
81
+ this.indexOnEvent('waiting', 'wait');
82
+ this.indexOnEvent('waiting-children', 'waiting-children');
83
+ this.indexOnEvent('active', 'active');
84
+ this.indexOnEvent('completed', 'completed');
85
+ this.indexOnEvent('failed', 'failed');
86
+ this.indexOnEvent('delayed', 'delayed');
92
87
  // When a job is removed
93
88
  this.queueEvents.on('removed', ({ jobId }) => {
94
- void this.removeJobFromAllIndices(jobId);
89
+ this.enqueueIndexOperation(jobId, () => this.removeJobFromAllIndices(jobId));
90
+ });
91
+ }
92
+ /**
93
+ * Registers a QueueEvents listener which re-indexes the job under the given state.
94
+ */
95
+ indexOnEvent(event, state) {
96
+ var _a;
97
+ (_a = this.queueEvents) === null || _a === void 0 ? void 0 : _a.on(event, ({ jobId }) => {
98
+ this.enqueueIndexOperation(jobId, () => this.updateJobIndex(jobId, state));
99
+ });
100
+ }
101
+ /**
102
+ * The event handlers fire in event-stream order but run asynchronously, so two
103
+ * updates for the same job could otherwise interleave and leave the job indexed
104
+ * under a stale state. Chaining the operations per job id preserves the order.
105
+ */
106
+ enqueueIndexOperation(jobId, operation) {
107
+ var _a;
108
+ const chain = ((_a = this.indexOperationChains.get(jobId)) !== null && _a !== void 0 ? _a : Promise.resolve()).then(operation);
109
+ this.indexOperationChains.set(jobId, chain);
110
+ void chain.finally(() => {
111
+ if (this.indexOperationChains.get(jobId) === chain) {
112
+ this.indexOperationChains.delete(jobId);
113
+ }
95
114
  });
96
115
  }
97
116
  /**
@@ -105,34 +124,46 @@ let JobListIndexService = class JobListIndexService {
105
124
  const job = await this.queue.getJob(jobId);
106
125
  if (!job)
107
126
  return;
108
- const timestamp = job.timestamp;
109
127
  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);
128
+ // Atomically move the job to the target state index, and record the
129
+ // queue name so that removeJobFromAllIndices() can find the indexed
130
+ // sets without needing the (possibly deleted) job data.
131
+ const multi = this.redis.multi();
132
+ multi.sadd(this.createRegistryKey(), job.name);
133
+ for (const otherState of this.allStates) {
134
+ if (otherState !== state) {
135
+ multi.zrem(this.createSortedSetKey(job.name, otherState), jobId);
136
+ }
116
137
  }
138
+ multi.zadd(targetKey, job.timestamp, jobId);
139
+ await multi.exec();
140
+ core_1.Logger.debug(`Added job ${jobId} to indexed key: ${targetKey}`, constants_1.loggerCtx);
117
141
  }
118
142
  catch (err) {
119
143
  const error = err;
120
144
  core_1.Logger.error(`Failed to update job index: ${error.message}`, constants_1.loggerCtx);
121
145
  }
122
146
  }
147
+ /**
148
+ * By the time the 'removed' event is handled, the job data has already been
149
+ * deleted from Redis, so the queue name cannot be looked up from the job.
150
+ * Instead, the registry of known queue names is used to clear the id from
151
+ * every indexed set it could be in.
152
+ */
123
153
  async removeJobFromAllIndices(jobId) {
124
154
  if (!this.redis || !this.queue)
125
155
  return;
126
156
  try {
127
- const job = await this.queue.getJob(jobId);
128
- if (!job)
157
+ const queueNames = await this.redis.smembers(this.createRegistryKey());
158
+ if (queueNames.length === 0)
129
159
  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);
160
+ const multi = this.redis.multi();
161
+ for (const queueName of queueNames) {
162
+ for (const state of this.allStates) {
163
+ multi.zrem(this.createSortedSetKey(queueName, state), jobId);
164
+ }
134
165
  }
135
- await pipeline.exec();
166
+ await multi.exec();
136
167
  }
137
168
  catch (err) {
138
169
  const error = err;
@@ -186,24 +217,25 @@ let JobListIndexService = class JobListIndexService {
186
217
  }
187
218
  (_a = jobsByQueue.get(job.name)) === null || _a === void 0 ? void 0 : _a.push(job);
188
219
  }
189
- // Create sorted sets for each queue in this state
220
+ // Merge each queue's jobs into its indexed set. The zadds are
221
+ // idempotent (same score for the same member), so this also picks
222
+ // up jobs which were added while no worker was listening for
223
+ // queue events, without disturbing existing entries.
190
224
  for (const [queueName, queueJobs] of jobsByQueue) {
225
+ await this.redis.sadd(this.createRegistryKey(), queueName);
191
226
  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;
227
+ core_1.Logger.debug(`Merging ${queueJobs.length} jobs into indexed set for queue: ${queueName} in state: ${state}`, constants_1.loggerCtx);
228
+ const pipeline = this.redis.pipeline();
229
+ // Add jobs in batches
230
+ for (let i = 0; i < queueJobs.length; i += this.BATCH_SIZE) {
231
+ const batch = queueJobs.slice(i, i + this.BATCH_SIZE);
232
+ const args = batch
233
+ .flatMap(job => [job.timestamp, job.id])
234
+ .filter((id) => id != null);
235
+ pipeline.zadd(indexedKey, ...args);
206
236
  }
237
+ await pipeline.exec();
238
+ totalMigrated += queueJobs.length;
207
239
  }
208
240
  }
209
241
  catch (err) {
@@ -293,6 +325,19 @@ let JobListIndexService = class JobListIndexService {
293
325
  }
294
326
  return `${prefix}:${this.queue.name}:${jobId}`;
295
327
  }
328
+ /**
329
+ * The registry is a Redis set holding all Vendure queue names which have been
330
+ * indexed. It allows removal of a job id from all indexed sets even when the
331
+ * job data (and with it the queue name) is no longer available, and lets the
332
+ * getJobsByType script enumerate every indexed set for unfiltered queries.
333
+ */
334
+ createRegistryKey() {
335
+ const prefix = (0, utils_1.getPrefix)(this.options);
336
+ if (!this.queue) {
337
+ throw new Error('Queue is not initialized');
338
+ }
339
+ return `${prefix}:${this.queue.name}:queue-names`;
340
+ }
296
341
  };
297
342
  exports.JobListIndexService = JobListIndexService;
298
343
  exports.JobListIndexService = JobListIndexService = __decorate([
@@ -1 +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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"}
1
+ {"version":3,"file":"job-list-index.service.js","sourceRoot":"","sources":["../../src/bullmq/job-list-index.service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ export declare const getJobsByType: CustomScriptDefinition<[
5
5
  ], [
6
6
  skip: number,
7
7
  take: number,
8
- queueName: string | undefined,
9
- ...states: string[]
8
+ numQueueNames: number,
9
+ ...namesAndStates: string[]
10
10
  ]>;
@@ -3,184 +3,94 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getJobsByType = void 0;
4
4
  // language=Lua
5
5
  const script = `--[[
6
- Get job ids per provided states and filter by name - Optimized version using indexed structure
6
+ Get a page of job ids for the given states, ordered newest-first by creation time,
7
+ optionally filtered by one or more queue names.
7
8
  Input:
8
- KEYS[1] 'prefix'
9
- ARGV[1] skip
10
- ARGV[2] take
11
- ARGV[3] filterName
12
- ARGV[4...] types
9
+ KEYS[1] key prefix (e.g. "bull:vendure-job-queue:")
10
+ ARGV[1] skip
11
+ ARGV[2] take
12
+ ARGV[3] number of queue-name filters (N)
13
+ ARGV[4..3+N] queue names
14
+ ARGV[4+N..] job states/types
15
+ Output:
16
+ { totalCount, { id1, id2, ... } }
17
+
18
+ The query reads the indexed sorted sets maintained by the JobListIndexService
19
+ (one per queue name and state, uniformly scored by creation timestamp) rather
20
+ than BullMQ's native state structures. The native structures order by finish
21
+ time, encoded delay or priority depending on the state, so selecting the top
22
+ (skip + take) entries from them could cut a job from the page before a
23
+ creation-time sort ever saw it. When no queue names are given, the registry of
24
+ known queue names is used so that every indexed set is consulted.
25
+
26
+ The script is read-only: since Redis scripts execute atomically, candidates are
27
+ merged and sorted in Lua memory rather than in temporary Redis keys. Only the
28
+ first (skip + take) entries of each set are fetched, so the cost is bounded by
29
+ the page depth, not the queue length.
13
30
  ]]
14
31
  local rcall = redis.call
15
32
  local prefix = KEYS[1]
16
33
  local skip = tonumber(ARGV[1])
17
34
  local take = tonumber(ARGV[2])
18
- local filterName = ARGV[3]
19
- local results = {}
20
- local totalResults = 0
21
-
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) .. '"')
27
-
28
- -- Create a temporary key for merging results
29
- local tempKey = prefix .. 'temp:merge:' .. math.random(1000000)
30
- local sourceKeys = {}
31
- local listKeys = {}
32
-
33
- -- Function to count jobs in a sorted set
34
- local function countJobsInSortedSet(key)
35
- return rcall('ZCARD', key) or 0
35
+ local numNames = tonumber(ARGV[3])
36
+ local names = {}
37
+ for i = 4, 3 + numNames do
38
+ table.insert(names, ARGV[i])
36
39
  end
37
-
38
- -- Function to count jobs in a list
39
- local function countJobsInList(key)
40
- return rcall('LLEN', key) or 0
40
+ local states = {}
41
+ for i = 4 + numNames, #ARGV do
42
+ table.insert(states, ARGV[i])
41
43
  end
42
44
 
43
- -- First count total jobs and collect source keys
44
- if filterName ~= "" then
45
- -- When filtering by name, we need to check each state
46
- for i = 4, #ARGV do
47
- local state = ARGV[i]
48
- -- redis.log(redis.LOG_NOTICE, 'Processing state: "' .. state .. '"')
49
- local indexedKey = prefix .. 'queue:' .. filterName .. ':' .. state
50
- -- redis.log(redis.LOG_NOTICE, 'Looking for key: ' .. indexedKey)
51
- local keyType = rcall('TYPE', indexedKey).ok
52
- -- redis.log(redis.LOG_NOTICE, 'Key type: ' .. keyType)
53
-
54
- if keyType == 'zset' then
55
- totalResults = totalResults + countJobsInSortedSet(indexedKey)
56
- table.insert(sourceKeys, indexedKey)
57
- elseif keyType == 'list' then
58
- totalResults = totalResults + countJobsInList(indexedKey)
59
- table.insert(listKeys, indexedKey)
60
- end
61
- end
62
- else
63
- -- No filter, count all types
64
- for i = 4, #ARGV do
65
- local state = ARGV[i]
66
- -- redis.log(redis.LOG_NOTICE, 'Processing state: "' .. state .. '"')
67
- local key = prefix .. state
68
- -- redis.log(redis.LOG_NOTICE, 'Looking for key: ' .. key)
69
- local keyType = rcall('TYPE', key).ok
70
- -- redis.log(redis.LOG_NOTICE, 'Key type: ' .. keyType)
71
-
72
- if keyType == 'zset' then
73
- totalResults = totalResults + countJobsInSortedSet(key)
74
- table.insert(sourceKeys, key)
75
- elseif keyType == 'list' then
76
- totalResults = totalResults + countJobsInList(key)
77
- table.insert(listKeys, key)
78
- -- redis.log(redis.LOG_NOTICE, 'total jobs in list: ' .. totalResults)
79
- end
80
- end
45
+ if numNames == 0 then
46
+ -- No explicit filter: consult the indexed sets of every known queue name
47
+ names = rcall('SMEMBERS', prefix .. 'queue-names')
81
48
  end
82
49
 
83
- -- If we have any sorted sets to merge, do it
84
- if #sourceKeys > 0 then
85
- -- Calculate how many elements we need to merge
86
- local neededElements = skip + take
87
- -- redis.log(redis.LOG_NOTICE, 'Number of source keys: ' .. tostring(#sourceKeys))
88
- -- redis.log(redis.LOG_NOTICE, 'Needed elements: ' .. tostring(neededElements))
89
-
90
- -- Create temporary keys for each source set with limited elements
91
- local limitedKeys = {}
92
- for i, sourceKey in ipairs(sourceKeys) do
93
- local limitedKey = tempKey .. ':limited:' .. i
94
- -- redis.log(redis.LOG_NOTICE, 'Processing source key: ' .. sourceKey)
95
- -- Get only the elements we need from each source set
96
- local elements = rcall('ZREVRANGE', sourceKey, 0, neededElements - 1, 'WITHSCORES')
97
- -- redis.log(redis.LOG_NOTICE, 'Found ' .. tostring(#elements) .. ' elements in ' .. sourceKey)
98
- if #elements > 0 then
99
- -- Process elements in pairs (member, score)
100
- local chunkSize = 1000 -- Process in chunks of 1000 elements
101
- for j = 1, #elements, chunkSize * 2 do
102
- local chunkEnd = math.min(j + chunkSize * 2 - 1, #elements)
103
- local chunkArgs = {}
104
- for k = j, chunkEnd, 2 do
105
- local member = elements[k]
106
- local score = elements[k + 1]
107
- table.insert(chunkArgs, score)
108
- table.insert(chunkArgs, member)
109
- end
110
- if #chunkArgs > 0 then
111
- rcall('ZADD', limitedKey, unpack(chunkArgs))
50
+ local needed = skip + take
51
+ local total = 0
52
+ local candidates = {}
53
+ local seen = {}
54
+
55
+ for _, name in ipairs(names) do
56
+ for _, state in ipairs(states) do
57
+ local key = prefix .. 'queue:' .. name .. ':' .. state
58
+ if rcall('TYPE', key).ok == 'zset' then
59
+ total = total + rcall('ZCARD', key)
60
+ -- Guard against needed <= 0: a range end of -1 would fetch the whole set
61
+ if needed > 0 then
62
+ local elements = rcall('ZREVRANGE', key, 0, needed - 1, 'WITHSCORES')
63
+ for i = 1, #elements, 2 do
64
+ local id = elements[i]
65
+ if not seen[id] then
66
+ seen[id] = true
67
+ table.insert(candidates, { id = id, ts = tonumber(elements[i + 1]) })
68
+ end
112
69
  end
113
70
  end
114
- table.insert(limitedKeys, limitedKey)
115
- -- redis.log(redis.LOG_NOTICE, 'Added to limited key: ' .. limitedKey)
116
- end
117
- end
118
-
119
- -- redis.log(redis.LOG_NOTICE, 'Number of limited keys: ' .. tostring(#limitedKeys))
120
-
121
- if #limitedKeys > 0 then
122
- -- Merge the limited sets
123
- rcall('ZUNIONSTORE', tempKey, #limitedKeys, unpack(limitedKeys))
124
- -- redis.log(redis.LOG_NOTICE, 'Merged sets into: ' .. tempKey)
125
-
126
- -- Get the paginated results from the merged set
127
- results = rcall('ZREVRANGE', tempKey, skip, skip + take - 1)
128
- -- redis.log(redis.LOG_NOTICE, 'Got ' .. tostring(#results) .. ' results from merged set')
129
-
130
- -- Clean up temporary limited keys
131
- for _, key in ipairs(limitedKeys) do
132
- rcall('DEL', key)
133
71
  end
134
- else
135
- -- redis.log(redis.LOG_NOTICE, 'No elements found in any source sets')
136
72
  end
137
73
  end
138
74
 
139
- -- Handle list keys separately
140
- if #listKeys > 0 then
141
- -- Create a temporary list to merge all list keys
142
- local tempListKey = tempKey .. ':list'
143
-
144
- -- Merge all list keys into the temporary list
145
- for _, listKey in ipairs(listKeys) do
146
- local listElements = rcall('LRANGE', listKey, 0, -1)
147
- if #listElements > 0 then
148
- rcall('RPUSH', tempListKey, unpack(listElements))
75
+ table.sort(candidates, function(a, b)
76
+ if a.ts == b.ts then
77
+ -- Stable tie-break on the (numeric where possible) job id
78
+ local aNum = tonumber(a.id)
79
+ local bNum = tonumber(b.id)
80
+ if aNum and bNum then
81
+ return aNum > bNum
149
82
  end
83
+ return tostring(a.id) > tostring(b.id)
150
84
  end
85
+ return a.ts > b.ts
86
+ end)
151
87
 
152
- -- Get the total number of elements in the merged list
153
- local totalListElements = rcall('LLEN', tempListKey)
154
-
155
- if totalListElements > 0 then
156
- -- If we already have results from sorted sets, we need to merge them
157
- if #results > 0 then
158
- -- Convert the merged sorted set results to a temporary list
159
- local tempSortedListKey = tempKey .. ':sorted'
160
- for _, jobId in ipairs(results) do
161
- rcall('RPUSH', tempSortedListKey, jobId)
162
- end
163
-
164
- -- Merge the sorted results with list results
165
- local sortedElements = rcall('LRANGE', tempSortedListKey, 0, -1)
166
- rcall('RPUSH', tempListKey, unpack(sortedElements))
167
-
168
- -- Clean up temporary sorted list
169
- rcall('DEL', tempSortedListKey)
170
- end
171
-
172
- -- Get the final paginated results from the merged list
173
- results = rcall('LRANGE', tempListKey, skip, skip + take - 1)
174
-
175
- -- Clean up temporary list
176
- rcall('DEL', tempListKey)
177
- end
88
+ local results = {}
89
+ for i = skip + 1, math.min(skip + take, #candidates) do
90
+ table.insert(results, candidates[i].id)
178
91
  end
179
92
 
180
- -- Clean up temporary key
181
- rcall('DEL', tempKey)
182
-
183
- return {totalResults, results}
93
+ return { total, results }
184
94
  `;
185
95
  exports.getJobsByType = {
186
96
  script,
@@ -1 +1 @@
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmLd,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFd,CAAC;AAEW,QAAA,aAAa,GAGtB;IACA,MAAM;IACN,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,eAAe;CACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/job-queue-plugin",
3
- "version": "3.7.2-master-202607220305",
3
+ "version": "3.7.2-master-202607240306",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "main": "package/index.js",
6
6
  "types": "package/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "watch": "tsc -p ./tsconfig.build.json --watch",
17
17
  "build": "rimraf package && tsc -p ./tsconfig.build.json",
18
18
  "lint": "eslint --fix .",
19
- "e2e-wip": "node e2e/check-connection.js || jest --config ../../e2e-common/jest-config.js --runInBand --package=job-queue-plugin",
19
+ "e2e": "node e2e/check-connection.js || cross-env PACKAGE=job-queue-plugin vitest --config ../../e2e-common/vitest.config.mts --run",
20
20
  "ci": "npm run build"
21
21
  },
22
22
  "homepage": "https://www.vendure.io/",
@@ -25,8 +25,8 @@
25
25
  "access": "public"
26
26
  },
27
27
  "devDependencies": {
28
- "@vendure/common": "^3.7.2-master-202607220305",
29
- "@vendure/core": "^3.7.2-master-202607220305",
28
+ "@vendure/common": "^3.7.2-master-202607240306",
29
+ "@vendure/core": "^3.7.2-master-202607240306",
30
30
  "bullmq": "^5.67.1",
31
31
  "ioredis": "5.9.3",
32
32
  "rimraf": "^5.0.5",