bullmq 5.15.0 → 5.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classes/child-pool.js +2 -2
- package/dist/cjs/classes/child-pool.js.map +1 -1
- package/dist/cjs/classes/job-scheduler.js +140 -0
- package/dist/cjs/classes/job-scheduler.js.map +1 -0
- package/dist/cjs/classes/job.js +6 -2
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/queue-events.js.map +1 -1
- package/dist/cjs/classes/queue-getters.js +10 -0
- package/dist/cjs/classes/queue-getters.js.map +1 -1
- package/dist/cjs/classes/queue-keys.js +1 -1
- package/dist/cjs/classes/queue-keys.js.map +1 -1
- package/dist/cjs/classes/queue.js +74 -0
- package/dist/cjs/classes/queue.js.map +1 -1
- package/dist/cjs/classes/repeat.js +9 -10
- package/dist/cjs/classes/repeat.js.map +1 -1
- package/dist/cjs/classes/sandbox.js +57 -47
- package/dist/cjs/classes/sandbox.js.map +1 -1
- package/dist/cjs/classes/scripts.js +46 -40
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/classes/worker.js +23 -4
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/commands/addDelayedJob-6.lua +7 -7
- package/dist/cjs/commands/addJobScheduler-2.lua +75 -0
- package/dist/cjs/commands/addParentJob-4.lua +7 -7
- package/dist/cjs/commands/addPrioritizedJob-8.lua +7 -7
- package/dist/cjs/commands/addStandardJob-8.lua +7 -7
- package/dist/cjs/commands/{cleanJobsInSet-2.lua → cleanJobsInSet-3.lua} +6 -5
- package/dist/cjs/commands/drain-5.lua +41 -0
- package/dist/cjs/commands/includes/cleanSet.lua +50 -29
- package/dist/cjs/commands/includes/deduplicateJob.lua +25 -0
- package/dist/cjs/commands/includes/removeZSetJobs.lua +13 -1
- package/dist/cjs/commands/moveStalledJobsToWait-9.lua +2 -4
- package/dist/cjs/commands/removeJob-2.lua +17 -9
- package/dist/cjs/commands/removeJobScheduler-3.lua +43 -0
- package/dist/cjs/enums/error-code.js +1 -0
- package/dist/cjs/enums/error-code.js.map +1 -1
- package/dist/cjs/scripts/addDelayedJob-6.js +18 -16
- package/dist/cjs/scripts/addDelayedJob-6.js.map +1 -1
- package/dist/cjs/scripts/addJobScheduler-2.js +223 -0
- package/dist/cjs/scripts/addJobScheduler-2.js.map +1 -0
- package/dist/cjs/scripts/addParentJob-4.js +18 -16
- package/dist/cjs/scripts/addParentJob-4.js.map +1 -1
- package/dist/cjs/scripts/addPrioritizedJob-8.js +18 -16
- package/dist/cjs/scripts/addPrioritizedJob-8.js.map +1 -1
- package/dist/cjs/scripts/addStandardJob-8.js +18 -16
- package/dist/cjs/scripts/addStandardJob-8.js.map +1 -1
- package/dist/cjs/scripts/{cleanJobsInSet-2.js → cleanJobsInSet-3.js} +57 -35
- package/dist/cjs/scripts/{cleanJobsInSet-2.js.map → cleanJobsInSet-3.js.map} +1 -1
- package/dist/cjs/scripts/{drain-4.js → drain-5.js} +28 -7
- package/dist/cjs/scripts/drain-5.js.map +1 -0
- package/dist/cjs/scripts/index.js +4 -2
- package/dist/cjs/scripts/index.js.map +1 -1
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js +2 -3
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js.map +1 -1
- package/dist/cjs/scripts/obliterate-2.js +11 -1
- package/dist/cjs/scripts/obliterate-2.js.map +1 -1
- package/dist/cjs/scripts/removeJob-2.js +16 -9
- package/dist/cjs/scripts/removeJob-2.js.map +1 -1
- package/dist/cjs/scripts/removeJobScheduler-3.js +49 -0
- package/dist/cjs/scripts/removeJobScheduler-3.js.map +1 -0
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils.js +25 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/classes/child-pool.d.ts +1 -1
- package/dist/esm/classes/child-pool.js +2 -2
- package/dist/esm/classes/child-pool.js.map +1 -1
- package/dist/esm/classes/job-scheduler.d.ts +30 -0
- package/dist/esm/classes/job-scheduler.js +135 -0
- package/dist/esm/classes/job-scheduler.js.map +1 -0
- package/dist/esm/classes/job.d.ts +6 -1
- package/dist/esm/classes/job.js +7 -3
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/queue-events.d.ts +10 -0
- package/dist/esm/classes/queue-events.js.map +1 -1
- package/dist/esm/classes/queue-getters.d.ts +7 -0
- package/dist/esm/classes/queue-getters.js +10 -0
- package/dist/esm/classes/queue-getters.js.map +1 -1
- package/dist/esm/classes/queue-keys.js +1 -1
- package/dist/esm/classes/queue-keys.js.map +1 -1
- package/dist/esm/classes/queue.d.ts +54 -0
- package/dist/esm/classes/queue.js +74 -0
- package/dist/esm/classes/queue.js.map +1 -1
- package/dist/esm/classes/repeat.js +9 -10
- package/dist/esm/classes/repeat.js.map +1 -1
- package/dist/esm/classes/sandbox.js +57 -47
- package/dist/esm/classes/sandbox.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +3 -7
- package/dist/esm/classes/scripts.js +47 -41
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/classes/worker.d.ts +3 -0
- package/dist/esm/classes/worker.js +23 -4
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/commands/addDelayedJob-6.lua +7 -7
- package/dist/esm/commands/addJobScheduler-2.lua +75 -0
- package/dist/esm/commands/addParentJob-4.lua +7 -7
- package/dist/esm/commands/addPrioritizedJob-8.lua +7 -7
- package/dist/esm/commands/addStandardJob-8.lua +7 -7
- package/dist/esm/commands/{cleanJobsInSet-2.lua → cleanJobsInSet-3.lua} +6 -5
- package/dist/esm/commands/drain-5.lua +41 -0
- package/dist/esm/commands/includes/cleanSet.lua +50 -29
- package/dist/esm/commands/includes/deduplicateJob.lua +25 -0
- package/dist/esm/commands/includes/removeZSetJobs.lua +13 -1
- package/dist/esm/commands/moveStalledJobsToWait-9.lua +2 -4
- package/dist/esm/commands/removeJob-2.lua +17 -9
- package/dist/esm/commands/removeJobScheduler-3.lua +43 -0
- package/dist/esm/enums/error-code.d.ts +2 -1
- package/dist/esm/enums/error-code.js +1 -0
- package/dist/esm/enums/error-code.js.map +1 -1
- package/dist/esm/interfaces/job-json.d.ts +1 -0
- package/dist/esm/scripts/addDelayedJob-6.js +18 -16
- package/dist/esm/scripts/addDelayedJob-6.js.map +1 -1
- package/dist/esm/scripts/addJobScheduler-2.d.ts +5 -0
- package/dist/esm/scripts/addJobScheduler-2.js +220 -0
- package/dist/esm/scripts/addJobScheduler-2.js.map +1 -0
- package/dist/esm/scripts/addParentJob-4.js +18 -16
- package/dist/esm/scripts/addParentJob-4.js.map +1 -1
- package/dist/esm/scripts/addPrioritizedJob-8.js +18 -16
- package/dist/esm/scripts/addPrioritizedJob-8.js.map +1 -1
- package/dist/esm/scripts/addStandardJob-8.js +18 -16
- package/dist/esm/scripts/addStandardJob-8.js.map +1 -1
- package/dist/esm/scripts/{cleanJobsInSet-2.js → cleanJobsInSet-3.js} +57 -35
- package/dist/esm/scripts/{cleanJobsInSet-2.js.map → cleanJobsInSet-3.js.map} +1 -1
- package/dist/esm/scripts/{drain-4.js → drain-5.js} +28 -7
- package/dist/esm/scripts/drain-5.js.map +1 -0
- package/dist/esm/scripts/index.d.ts +4 -2
- package/dist/esm/scripts/index.js +4 -2
- package/dist/esm/scripts/index.js.map +1 -1
- package/dist/esm/scripts/moveStalledJobsToWait-9.js +2 -3
- package/dist/esm/scripts/moveStalledJobsToWait-9.js.map +1 -1
- package/dist/esm/scripts/obliterate-2.js +11 -1
- package/dist/esm/scripts/obliterate-2.js.map +1 -1
- package/dist/esm/scripts/removeJob-2.js +16 -9
- package/dist/esm/scripts/removeJob-2.js.map +1 -1
- package/dist/esm/scripts/removeJobScheduler-3.d.ts +5 -0
- package/dist/esm/scripts/removeJobScheduler-3.js +46 -0
- package/dist/esm/scripts/removeJobScheduler-3.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/types/job-options.d.ts +5 -0
- package/dist/esm/utils.d.ts +7 -0
- package/dist/esm/utils.js +23 -0
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/commands/drain-4.lua +0 -26
- package/dist/cjs/commands/includes/debounceJob.lua +0 -23
- package/dist/cjs/scripts/drain-4.js.map +0 -1
- package/dist/esm/commands/drain-4.lua +0 -26
- package/dist/esm/commands/includes/debounceJob.lua +0 -23
- package/dist/esm/scripts/drain-4.js.map +0 -1
- /package/dist/esm/scripts/{cleanJobsInSet-2.d.ts → cleanJobsInSet-3.d.ts} +0 -0
- /package/dist/esm/scripts/{drain-4.d.ts → drain-5.d.ts} +0 -0
@@ -2,6 +2,7 @@ import { v4 } from 'uuid';
|
|
2
2
|
import { Job } from './job';
|
3
3
|
import { QueueGetters } from './queue-getters';
|
4
4
|
import { Repeat } from './repeat';
|
5
|
+
import { JobScheduler } from './job-scheduler';
|
5
6
|
/**
|
6
7
|
* Queue
|
7
8
|
*
|
@@ -62,6 +63,15 @@ export class Queue extends QueueGetters {
|
|
62
63
|
resolve(this._repeat);
|
63
64
|
});
|
64
65
|
}
|
66
|
+
get jobScheduler() {
|
67
|
+
return new Promise(async (resolve) => {
|
68
|
+
if (!this._jobScheduler) {
|
69
|
+
this._jobScheduler = new JobScheduler(this.name, Object.assign(Object.assign({}, this.opts), { connection: await this.client }));
|
70
|
+
this._jobScheduler.on('error', e => this.emit.bind(this, e));
|
71
|
+
}
|
72
|
+
resolve(this._jobScheduler);
|
73
|
+
});
|
74
|
+
}
|
65
75
|
/**
|
66
76
|
* Get global concurrency value.
|
67
77
|
* Returns null in case no value is set.
|
@@ -128,6 +138,29 @@ export class Queue extends QueueGetters {
|
|
128
138
|
});
|
129
139
|
}));
|
130
140
|
}
|
141
|
+
/**
|
142
|
+
* Upserts a scheduler.
|
143
|
+
*
|
144
|
+
* A scheduler is a job factory that creates jobs at a given interval.
|
145
|
+
* Upserting a scheduler will create a new job scheduler or update an existing one.
|
146
|
+
* It will also create the first job based on the repeat options and delayed accordingly.
|
147
|
+
*
|
148
|
+
* @param key - Unique key for the repeatable job meta.
|
149
|
+
* @param repeatOpts - Repeat options
|
150
|
+
* @param jobTemplate - Job template. If provided it will be used for all the jobs
|
151
|
+
* created by the scheduler.
|
152
|
+
*
|
153
|
+
* @returns The next job to be scheduled (would normally be in delayed state).
|
154
|
+
*/
|
155
|
+
async upsertJobScheduler(jobSchedulerId, repeatOpts, jobTemplate) {
|
156
|
+
var _a, _b;
|
157
|
+
if (repeatOpts.endDate) {
|
158
|
+
if (+new Date(repeatOpts.endDate) < Date.now()) {
|
159
|
+
throw new Error('End date must be greater than current timestamp');
|
160
|
+
}
|
161
|
+
}
|
162
|
+
return (await this.jobScheduler).upsertJobScheduler(jobSchedulerId, repeatOpts, (_a = jobTemplate === null || jobTemplate === void 0 ? void 0 : jobTemplate.name) !== null && _a !== void 0 ? _a : jobSchedulerId, (_b = jobTemplate === null || jobTemplate === void 0 ? void 0 : jobTemplate.data) !== null && _b !== void 0 ? _b : {}, Object.assign(Object.assign({}, this.jobsOpts), jobTemplate === null || jobTemplate === void 0 ? void 0 : jobTemplate.opts), { override: true });
|
163
|
+
}
|
131
164
|
/**
|
132
165
|
* Pauses the processing of this queue globally.
|
133
166
|
*
|
@@ -182,6 +215,9 @@ export class Queue extends QueueGetters {
|
|
182
215
|
/**
|
183
216
|
* Get all repeatable meta jobs.
|
184
217
|
*
|
218
|
+
*
|
219
|
+
* @deprecated This method is deprecated and will be removed in v6. Use getJobSchedulers instead.
|
220
|
+
*
|
185
221
|
* @param start - Offset of first job to return.
|
186
222
|
* @param end - Offset of last job to return.
|
187
223
|
* @param asc - Determine the order in which jobs are returned based on their
|
@@ -190,12 +226,25 @@ export class Queue extends QueueGetters {
|
|
190
226
|
async getRepeatableJobs(start, end, asc) {
|
191
227
|
return (await this.repeat).getRepeatableJobs(start, end, asc);
|
192
228
|
}
|
229
|
+
/**
|
230
|
+
* Get all Job Schedulers
|
231
|
+
*
|
232
|
+
* @param start - Offset of first scheduler to return.
|
233
|
+
* @param end - Offset of last scheduler to return.
|
234
|
+
* @param asc - Determine the order in which schedulers are returned based on their
|
235
|
+
* next execution time.
|
236
|
+
*/
|
237
|
+
async getJobSchedulers(start, end, asc) {
|
238
|
+
return (await this.jobScheduler).getJobSchedulers(start, end, asc);
|
239
|
+
}
|
193
240
|
/**
|
194
241
|
* Removes a repeatable job.
|
195
242
|
*
|
196
243
|
* Note: you need to use the exact same repeatOpts when deleting a repeatable job
|
197
244
|
* than when adding it.
|
198
245
|
*
|
246
|
+
* @deprecated This method is deprecated and will be removed in v6. Use removeJobScheduler instead.
|
247
|
+
*
|
199
248
|
* @see removeRepeatableByKey
|
200
249
|
*
|
201
250
|
* @param name - Job name
|
@@ -208,8 +257,22 @@ export class Queue extends QueueGetters {
|
|
208
257
|
const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
|
209
258
|
return !removed;
|
210
259
|
}
|
260
|
+
/**
|
261
|
+
*
|
262
|
+
* Removes a job scheduler.
|
263
|
+
*
|
264
|
+
* @param jobSchedulerId
|
265
|
+
*
|
266
|
+
* @returns
|
267
|
+
*/
|
268
|
+
async removeJobScheduler(jobSchedulerId) {
|
269
|
+
const jobScheduler = await this.jobScheduler;
|
270
|
+
const removed = await jobScheduler.removeJobScheduler(jobSchedulerId);
|
271
|
+
return !removed;
|
272
|
+
}
|
211
273
|
/**
|
212
274
|
* Removes a debounce key.
|
275
|
+
* @deprecated use removeDeduplicationKey
|
213
276
|
*
|
214
277
|
* @param id - identifier
|
215
278
|
*/
|
@@ -217,6 +280,15 @@ export class Queue extends QueueGetters {
|
|
217
280
|
const client = await this.client;
|
218
281
|
return client.del(`${this.keys.de}:${id}`);
|
219
282
|
}
|
283
|
+
/**
|
284
|
+
* Removes a deduplication key.
|
285
|
+
*
|
286
|
+
* @param id - identifier
|
287
|
+
*/
|
288
|
+
async removeDeduplicationKey(id) {
|
289
|
+
const client = await this.client;
|
290
|
+
return client.del(`${this.keys.de}:${id}`);
|
291
|
+
}
|
220
292
|
/**
|
221
293
|
* Removes a repeatable job by its key. Note that the key is the one used
|
222
294
|
* to store the repeatable job metadata and not one of the job iterations
|
@@ -224,6 +296,8 @@ export class Queue extends QueueGetters {
|
|
224
296
|
*
|
225
297
|
* @see getRepeatableJobs
|
226
298
|
*
|
299
|
+
* @deprecated This method is deprecated and will be removed in v6. Use removeJobScheduler instead.
|
300
|
+
*
|
227
301
|
* @param repeatJobKey - To the repeatable job.
|
228
302
|
* @returns
|
229
303
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/classes/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAU1B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/classes/queue.ts"],"names":[],"mappings":"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"}
|
@@ -11,7 +11,7 @@ export class Repeat extends QueueBase {
|
|
11
11
|
(opts.settings && opts.settings.repeatKeyHashAlgorithm) || 'md5';
|
12
12
|
}
|
13
13
|
async updateRepeatableJob(name, data, opts, { override }) {
|
14
|
-
var _a, _b
|
14
|
+
var _a, _b;
|
15
15
|
// Backwards compatibility for repeatable jobs for versions <= 3.0.0
|
16
16
|
const repeatOpts = Object.assign({}, opts.repeat);
|
17
17
|
(_a = repeatOpts.pattern) !== null && _a !== void 0 ? _a : (repeatOpts.pattern = repeatOpts.cron);
|
@@ -33,31 +33,30 @@ export class Repeat extends QueueBase {
|
|
33
33
|
const nextMillis = await this.repeatStrategy(now, repeatOpts, name);
|
34
34
|
const { every, pattern } = repeatOpts;
|
35
35
|
const hasImmediately = Boolean((every || pattern) && repeatOpts.immediately);
|
36
|
-
const offset =
|
36
|
+
const offset = hasImmediately && every ? now - nextMillis : undefined;
|
37
37
|
if (nextMillis) {
|
38
38
|
// We store the undecorated opts.jobId into the repeat options
|
39
39
|
if (!prevMillis && opts.jobId) {
|
40
40
|
repeatOpts.jobId = opts.jobId;
|
41
41
|
}
|
42
|
-
const
|
42
|
+
const legacyRepeatKey = getRepeatConcatOptions(name, repeatOpts);
|
43
|
+
const newRepeatKey = (_b = opts.repeat.key) !== null && _b !== void 0 ? _b : this.hash(legacyRepeatKey);
|
43
44
|
let repeatJobKey;
|
44
45
|
if (override) {
|
45
|
-
repeatJobKey = await this.scripts.addRepeatableJob(
|
46
|
+
repeatJobKey = await this.scripts.addRepeatableJob(newRepeatKey, nextMillis, {
|
46
47
|
name,
|
47
48
|
endDate: endDate ? new Date(endDate).getTime() : undefined,
|
48
49
|
tz: repeatOpts.tz,
|
49
50
|
pattern,
|
50
51
|
every,
|
51
|
-
},
|
52
|
+
}, legacyRepeatKey);
|
52
53
|
}
|
53
54
|
else {
|
54
55
|
const client = await this.client;
|
55
|
-
repeatJobKey = await this.scripts.updateRepeatableJobMillis(client,
|
56
|
-
}
|
57
|
-
if (repeatJobKey) {
|
58
|
-
const { immediately } = repeatOpts, filteredRepeatOpts = __rest(repeatOpts, ["immediately"]);
|
59
|
-
return this.createNextJob(name, nextMillis, repeatJobKey, Object.assign(Object.assign({}, opts), { repeat: Object.assign({ offset }, filteredRepeatOpts) }), data, iterationCount, hasImmediately);
|
56
|
+
repeatJobKey = await this.scripts.updateRepeatableJobMillis(client, newRepeatKey, nextMillis, legacyRepeatKey);
|
60
57
|
}
|
58
|
+
const { immediately } = repeatOpts, filteredRepeatOpts = __rest(repeatOpts, ["immediately"]);
|
59
|
+
return this.createNextJob(name, nextMillis, repeatJobKey, Object.assign(Object.assign({}, opts), { repeat: Object.assign({ offset }, filteredRepeatOpts) }), data, iterationCount, hasImmediately);
|
61
60
|
}
|
62
61
|
}
|
63
62
|
async createNextJob(name, nextMillis, repeatJobKey, opts, data, currentCount, hasImmediately) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../../src/classes/repeat.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AASpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,OAAO,MAAO,SAAQ,SAAS;IAInC,YACE,IAAY,EACZ,IAAuB,EACvB,UAAmC;QAEnC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAE9B,IAAI,CAAC,cAAc;YACjB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC;QAEnE,IAAI,CAAC,sBAAsB;YACzB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,IAAO,EACP,IAAO,EACP,IAAiB,EACjB,EAAE,QAAQ,EAAyB;;QAEnC,oEAAoE;QACpE,MAAM,UAAU,qBAA2C,IAAI,CAAC,MAAM,CAAE,CAAC;QACzE,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,UAAU,CAAC,IAAI,EAAC;QACvC,OAAO,UAAU,CAAC,IAAI,CAAC;QAEvB,mEAAmE;QACnE,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IACE,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW;YACvC,cAAc,GAAG,UAAU,CAAC,KAAK,EACjC;YACA,OAAO;SACR;QAED,yDAAyD;QACzD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,CAAC,OAAO,OAAO,KAAK,SAAS,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,OAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;YACzE,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACxC,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAEtC,MAAM,cAAc,GAAG,OAAO,CAC5B,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,UAAU,CAAC,WAAW,CAC7C,CAAC;QACF,MAAM,MAAM,GAAG,
|
1
|
+
{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../../src/classes/repeat.ts"],"names":[],"mappings":"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"}
|
@@ -1,60 +1,70 @@
|
|
1
1
|
import { ChildCommand, ParentCommand } from '../enums';
|
2
2
|
const sandbox = (processFile, childPool) => {
|
3
3
|
return async function process(job, token) {
|
4
|
-
|
4
|
+
let child;
|
5
5
|
let msgHandler;
|
6
6
|
let exitHandler;
|
7
|
-
await child.send({
|
8
|
-
cmd: ChildCommand.Start,
|
9
|
-
job: job.asJSONSandbox(),
|
10
|
-
token,
|
11
|
-
});
|
12
|
-
const done = new Promise((resolve, reject) => {
|
13
|
-
msgHandler = async (msg) => {
|
14
|
-
var _a, _b;
|
15
|
-
switch (msg.cmd) {
|
16
|
-
case ParentCommand.Completed:
|
17
|
-
resolve(msg.value);
|
18
|
-
break;
|
19
|
-
case ParentCommand.Failed:
|
20
|
-
case ParentCommand.Error: {
|
21
|
-
const err = new Error();
|
22
|
-
Object.assign(err, msg.value);
|
23
|
-
reject(err);
|
24
|
-
break;
|
25
|
-
}
|
26
|
-
case ParentCommand.Progress:
|
27
|
-
await job.updateProgress(msg.value);
|
28
|
-
break;
|
29
|
-
case ParentCommand.Log:
|
30
|
-
await job.log(msg.value);
|
31
|
-
break;
|
32
|
-
case ParentCommand.MoveToDelayed:
|
33
|
-
await job.moveToDelayed((_a = msg.value) === null || _a === void 0 ? void 0 : _a.timestamp, (_b = msg.value) === null || _b === void 0 ? void 0 : _b.token);
|
34
|
-
break;
|
35
|
-
case ParentCommand.Update:
|
36
|
-
await job.updateData(msg.value);
|
37
|
-
break;
|
38
|
-
}
|
39
|
-
};
|
40
|
-
exitHandler = (exitCode, signal) => {
|
41
|
-
reject(new Error('Unexpected exit code: ' + exitCode + ' signal: ' + signal));
|
42
|
-
};
|
43
|
-
child.on('message', msgHandler);
|
44
|
-
child.on('exit', exitHandler);
|
45
|
-
});
|
46
7
|
try {
|
8
|
+
const done = new Promise((resolve, reject) => {
|
9
|
+
const initChild = async () => {
|
10
|
+
try {
|
11
|
+
exitHandler = (exitCode, signal) => {
|
12
|
+
reject(new Error('Unexpected exit code: ' + exitCode + ' signal: ' + signal));
|
13
|
+
};
|
14
|
+
child = await childPool.retain(processFile, exitHandler);
|
15
|
+
msgHandler = async (msg) => {
|
16
|
+
var _a, _b;
|
17
|
+
switch (msg.cmd) {
|
18
|
+
case ParentCommand.Completed:
|
19
|
+
resolve(msg.value);
|
20
|
+
break;
|
21
|
+
case ParentCommand.Failed:
|
22
|
+
case ParentCommand.Error: {
|
23
|
+
const err = new Error();
|
24
|
+
Object.assign(err, msg.value);
|
25
|
+
reject(err);
|
26
|
+
break;
|
27
|
+
}
|
28
|
+
case ParentCommand.Progress:
|
29
|
+
await job.updateProgress(msg.value);
|
30
|
+
break;
|
31
|
+
case ParentCommand.Log:
|
32
|
+
await job.log(msg.value);
|
33
|
+
break;
|
34
|
+
case ParentCommand.MoveToDelayed:
|
35
|
+
await job.moveToDelayed((_a = msg.value) === null || _a === void 0 ? void 0 : _a.timestamp, (_b = msg.value) === null || _b === void 0 ? void 0 : _b.token);
|
36
|
+
break;
|
37
|
+
case ParentCommand.Update:
|
38
|
+
await job.updateData(msg.value);
|
39
|
+
break;
|
40
|
+
}
|
41
|
+
};
|
42
|
+
child.on('message', msgHandler);
|
43
|
+
child.send({
|
44
|
+
cmd: ChildCommand.Start,
|
45
|
+
job: job.asJSONSandbox(),
|
46
|
+
token,
|
47
|
+
});
|
48
|
+
}
|
49
|
+
catch (error) {
|
50
|
+
reject(error);
|
51
|
+
}
|
52
|
+
};
|
53
|
+
initChild();
|
54
|
+
});
|
47
55
|
await done;
|
48
56
|
return done;
|
49
57
|
}
|
50
58
|
finally {
|
51
|
-
child
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
59
|
+
if (child) {
|
60
|
+
child.off('message', msgHandler);
|
61
|
+
child.off('exit', exitHandler);
|
62
|
+
if (child.exitCode !== null || /SIG.*/.test(`${child.signalCode}`)) {
|
63
|
+
childPool.remove(child);
|
64
|
+
}
|
65
|
+
else {
|
66
|
+
childPool.release(child);
|
67
|
+
}
|
58
68
|
}
|
59
69
|
}
|
60
70
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/classes/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/classes/sandbox.ts"],"names":[],"mappings":"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"}
|
@@ -20,10 +20,13 @@ export declare class Scripts {
|
|
20
20
|
pause(pause: boolean): Promise<void>;
|
21
21
|
protected addRepeatableJobArgs(customKey: string, nextMillis: number, opts: RepeatableOptions, legacyCustomKey: string): (string | number | Buffer)[];
|
22
22
|
addRepeatableJob(customKey: string, nextMillis: number, opts: RepeatableOptions, legacyCustomKey: string): Promise<string>;
|
23
|
+
addJobScheduler(jobSchedulerId: string, nextMillis: number, opts: RepeatableOptions): Promise<string>;
|
23
24
|
updateRepeatableJobMillis(client: RedisClient, customKey: string, nextMillis: number, legacyCustomKey: string): Promise<string>;
|
25
|
+
updateJobSchedulerNextMillis(jobSchedulerId: string, nextMillis: number): Promise<number>;
|
24
26
|
private removeRepeatableArgs;
|
25
27
|
getRepeatConcatOptions(repeatConcatOptions: string, repeatJobKey: string): string;
|
26
28
|
removeRepeatable(legacyRepeatJobId: string, repeatConcatOptions: string, repeatJobKey: string): Promise<number>;
|
29
|
+
removeJobScheduler(jobSchedulerId: string): Promise<number>;
|
27
30
|
remove(jobId: string, removeChildren: boolean): Promise<number>;
|
28
31
|
extendLock(jobId: string, token: string, duration: number, client?: RedisClient | ChainableCommander): Promise<number>;
|
29
32
|
updateData<T = any, R = any, N extends string = string>(job: MinimalJob<T, R, N>, data: T): Promise<void>;
|
@@ -32,13 +35,6 @@ export declare class Scripts {
|
|
32
35
|
protected moveToFinishedArgs<T = any, R = any, N extends string = string>(job: MinimalJob<T, R, N>, val: any, propVal: FinishedPropValAttribute, shouldRemove: undefined | boolean | number | KeepJobs, target: FinishedStatus, token: string, timestamp: number, fetchNext?: boolean): (string | number | boolean | Buffer)[];
|
33
36
|
protected getKeepJobs(shouldRemove: undefined | boolean | number | KeepJobs, workerKeepJobs: undefined | KeepJobs): KeepJobs;
|
34
37
|
moveToFinished(jobId: string, args: (string | number | boolean | Buffer)[]): Promise<any[]>;
|
35
|
-
finishedErrors({ code, jobId, parentKey, command, state, }: {
|
36
|
-
code: number;
|
37
|
-
jobId?: string;
|
38
|
-
parentKey?: string;
|
39
|
-
command: string;
|
40
|
-
state?: string;
|
41
|
-
}): Error;
|
42
38
|
private drainArgs;
|
43
39
|
drain(delayed: boolean): Promise<void>;
|
44
40
|
private removeChildDependencyArgs;
|