@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.
- package/package/bullmq/bullmq-job-queue-strategy.d.ts +6 -0
- package/package/bullmq/bullmq-job-queue-strategy.js +37 -47
- package/package/bullmq/bullmq-job-queue-strategy.js.map +1 -1
- package/package/bullmq/constants.js +2 -1
- package/package/bullmq/constants.js.map +1 -1
- package/package/bullmq/job-list-index.service.d.ts +29 -0
- package/package/bullmq/job-list-index.service.js +99 -54
- package/package/bullmq/job-list-index.service.js.map +1 -1
- package/package/bullmq/scripts/get-jobs-by-type.d.ts +2 -2
- package/package/bullmq/scripts/get-jobs-by-type.js +66 -156
- package/package/bullmq/scripts/get-jobs-by-type.js.map +1 -1
- package/package.json +4 -4
|
@@ -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([
|
|
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
|
|
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
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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', '
|
|
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
|
|
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
|
-
|
|
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":";;;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,mCAAsD;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAa,sBAAsB;IAAnC;QAII;;;;WAIG;QACK,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAI3B,0BAAqB,GAAG,IAAI,GAAG,EAAsC,CAAC;QAE/E,2BAAsB,GAAG,KAAK,CAAC;QACtB,sBAAiB,GAAG,IAAI,cAAO,EAAU,CAAC;QAC1C,uBAAkB,GAAG,YAAY,CAAC;QAClC,4BAAuB,GAAG,wBAAwB,CAAC;QAoSnD,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;IAiI5B,CAAC;IAzaG,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,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAClF,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAClB,MAAA,IAAI,CAAC,mBAAmB,0CAAE,KAAK,EAAE;YACjC,GAAG,mBAAmB;SACzB,CAAC,CAAC;IACP,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;;;;OAIG;IACK,kBAAkB,CAAC,KAAa;QACpC,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,SAAS;gBACV,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACvD,KAAK,SAAS;gBACV,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtB,KAAK,WAAW;gBACZ,OAAO,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,UAAU;gBACX,OAAO,CAAC,SAAS,CAAC,CAAC;YACvB,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtB;gBACI,OAAO,EAAE,CAAC;QAClB,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;QAExC,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;QACrC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,GAAG,MAAM,CAAC;YACtB,CAAC;QACL,CAAC;QACD,IAAI,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,0CAAE,MAAM,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YACtF,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACvB,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QACD,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC;QAC3C,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,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC;QAC7C,MAAM,UAAU,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,EAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,mCAAI,EAAE,CAAC,CAAC;QAE5F,IAAI,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gCAAa,EAAE;gBAC/D,IAAI;gBACJ,IAAI;gBACJ,UAAU,CAAC,MAAM;gBACjB,GAAG,UAAU;gBACb,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,KAAK,CAAC,KAAK,CACP,SAAiB,EACjB,OAAyC;;QAEzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEnD,+EAA+E;QAC/E,oFAAoF;QACpF,sFAAsF;QACtF,0FAA0F;QAC1F,yFAAyF;QACzF,yCAAyC;QACzC,MAAM,WAAW,GACb,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU;YAC1C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;YACrC,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,mCAAI,+BAAmB,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,iCACT,WAAW,IACR,IAAI,CAAC,OAAO,CAAC,aAAa,KAC7B,UAAU,EAAE,IAAI,CAAC,eAAe,GACnC,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,sBAAU,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;iBAC/D,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,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,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,mBAAmB,EAAE,qBAAS,CAAC,CAAC;gBAE5C,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,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oBACzC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC;gBACD,aAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,qBAAS,CAAC,CAAC;gBAC3C,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,OAAO,CAAC,CAAC,CAAC;gBACN,aAAM,CAAC,KAAK,CACR,yCAAyC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,cAAc,KAAK,KAAK,EAAE,EAC5E,qBAAS,CACZ,CAAC;gBACF,4DAA4D;gBAC5D,OAAO,0BAAQ,CAAC,MAAM,CAAC;YAC3B,CAAC;QACL,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;AA7bD,wDA6bC"}
|
|
@@ -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;
|
|
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, {
|
|
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
|
-
|
|
70
|
-
this.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
this.
|
|
74
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
111
|
-
|
|
112
|
-
//
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
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
|
|
128
|
-
if (
|
|
157
|
+
const queueNames = await this.redis.smembers(this.createRegistryKey());
|
|
158
|
+
if (queueNames.length === 0)
|
|
129
159
|
return;
|
|
130
|
-
const
|
|
131
|
-
for (const
|
|
132
|
-
const
|
|
133
|
-
|
|
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
|
|
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
|
-
//
|
|
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
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
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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"}
|
|
@@ -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
|
|
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]
|
|
9
|
-
ARGV[1]
|
|
10
|
-
ARGV[2]
|
|
11
|
-
ARGV[3]
|
|
12
|
-
ARGV[4
|
|
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
|
|
19
|
-
local
|
|
20
|
-
|
|
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
|
-
|
|
39
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
140
|
-
if
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
|
|
153
|
-
|
|
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
|
-
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
29
|
-
"@vendure/core": "^3.7.2-master-
|
|
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",
|