bullmq 1.81.3 → 1.82.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classes/compat.d.ts +1 -1
- package/dist/cjs/classes/compat.js +2 -1
- package/dist/cjs/classes/compat.js.map +1 -1
- package/dist/cjs/classes/job.d.ts +3 -2
- package/dist/cjs/classes/job.js +23 -24
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/queue-base.d.ts +2 -0
- package/dist/cjs/classes/queue-base.js +2 -0
- package/dist/cjs/classes/queue-base.js.map +1 -1
- package/dist/cjs/classes/queue-events.d.ts +1 -0
- package/dist/cjs/classes/queue-scheduler.js +2 -3
- package/dist/cjs/classes/queue-scheduler.js.map +1 -1
- package/dist/cjs/classes/queue.d.ts +13 -3
- package/dist/cjs/classes/queue.js +20 -11
- package/dist/cjs/classes/queue.js.map +1 -1
- package/dist/cjs/classes/repeat.d.ts +2 -2
- package/dist/cjs/classes/repeat.js +2 -3
- package/dist/cjs/classes/repeat.js.map +1 -1
- package/dist/cjs/classes/scripts.d.ts +37 -36
- package/dist/cjs/classes/scripts.js +142 -136
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/classes/worker.js +1 -2
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/commands/includes/removeJobsByMaxCount.lua +1 -1
- package/dist/cjs/commands/moveStalledJobsToWait-8.lua +4 -4
- package/dist/cjs/commands/moveToFinished-12.lua +1 -1
- package/dist/cjs/commands/removeJob-1.lua +23 -8
- package/dist/cjs/commands/removeRepeatable-2.lua +10 -1
- package/dist/esm/classes/compat.d.ts +1 -1
- package/dist/esm/classes/compat.js +2 -1
- package/dist/esm/classes/compat.js.map +1 -1
- package/dist/esm/classes/job.d.ts +3 -2
- package/dist/esm/classes/job.js +23 -24
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/queue-base.d.ts +2 -0
- package/dist/esm/classes/queue-base.js +2 -0
- package/dist/esm/classes/queue-base.js.map +1 -1
- package/dist/esm/classes/queue-events.d.ts +1 -0
- package/dist/esm/classes/queue-scheduler.js +2 -3
- package/dist/esm/classes/queue-scheduler.js.map +1 -1
- package/dist/esm/classes/queue.d.ts +13 -3
- package/dist/esm/classes/queue.js +20 -11
- package/dist/esm/classes/queue.js.map +1 -1
- package/dist/esm/classes/repeat.d.ts +2 -2
- package/dist/esm/classes/repeat.js +2 -3
- package/dist/esm/classes/repeat.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +37 -36
- package/dist/esm/classes/scripts.js +142 -136
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/classes/worker.js +1 -2
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/commands/includes/removeJobsByMaxCount.lua +1 -1
- package/dist/esm/commands/moveStalledJobsToWait-8.lua +4 -4
- package/dist/esm/commands/moveToFinished-12.lua +1 -1
- package/dist/esm/commands/removeJob-1.lua +23 -8
- package/dist/esm/commands/removeRepeatable-2.lua +10 -1
- package/package.json +1 -1
@@ -1,7 +1,6 @@
|
|
1
1
|
import { __rest } from "tslib";
|
2
2
|
import { array2obj, clientCommandMessageReg, isRedisInstance, QUEUE_SCHEDULER_SUFFIX, } from '../utils';
|
3
3
|
import { QueueBase } from './queue-base';
|
4
|
-
import { Scripts } from './scripts';
|
5
4
|
/**
|
6
5
|
* This class is just used for some automatic bookkeeping of the queue,
|
7
6
|
* such as updating the delay set as well as moving stalled jobs back
|
@@ -146,7 +145,7 @@ export class QueueScheduler extends QueueBase {
|
|
146
145
|
}
|
147
146
|
async updateDelaySet(timestamp) {
|
148
147
|
if (!this.closing) {
|
149
|
-
const result = await this.checkConnectionError(() =>
|
148
|
+
const result = await this.checkConnectionError(() => this.scripts.updateDelaySet(timestamp));
|
150
149
|
if (!result) {
|
151
150
|
return [0, '0'];
|
152
151
|
}
|
@@ -156,7 +155,7 @@ export class QueueScheduler extends QueueBase {
|
|
156
155
|
}
|
157
156
|
async moveStalledJobsToWait() {
|
158
157
|
if (!this.closing) {
|
159
|
-
const [failed, stalled] = await
|
158
|
+
const [failed, stalled] = await this.scripts.moveStalledJobsToWait();
|
160
159
|
failed.forEach((jobId) => this.emit('failed', jobId, new Error('job stalled more than allowable limit'), 'active'));
|
161
160
|
stalled.forEach((jobId) => this.emit('stalled', jobId, 'active'));
|
162
161
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"queue-scheduler.js","sourceRoot":"","sources":["../../../src/classes/queue-scheduler.ts"],"names":[],"mappings":";AAKA,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"queue-scheduler.js","sourceRoot":"","sources":["../../../src/classes/queue-scheduler.ts"],"names":[],"mappings":"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"}
|
@@ -92,6 +92,10 @@ export declare class Queue<DataType = any, ResultType = any, NameType extends st
|
|
92
92
|
* @param opts - Job options that affects how the job is going to be processed.
|
93
93
|
*/
|
94
94
|
add(name: NameType, data: DataType, opts?: JobsOptions): Promise<Job<DataType, ResultType, NameType>>;
|
95
|
+
/**
|
96
|
+
* Helper to easily extend Job class calls.
|
97
|
+
*/
|
98
|
+
protected get Job(): typeof Job;
|
95
99
|
/**
|
96
100
|
* Adds an array of jobs to the queue.
|
97
101
|
*
|
@@ -137,15 +141,21 @@ export declare class Queue<DataType = any, ResultType = any, NameType extends st
|
|
137
141
|
*/
|
138
142
|
getRepeatableJobs(start?: number, end?: number, asc?: boolean): Promise<{
|
139
143
|
key: string;
|
140
|
-
name: string;
|
144
|
+
name: string; /**
|
145
|
+
* Adds a new job to the queue.
|
146
|
+
*
|
147
|
+
* @param name - Name of the job to be added to the queue,.
|
148
|
+
* @param data - Arbitrary data to append to the job.
|
149
|
+
* @param opts - Job options that affects how the job is going to be processed.
|
150
|
+
*/
|
141
151
|
id: string;
|
142
152
|
endDate: number;
|
143
153
|
tz: string;
|
144
154
|
cron: string;
|
145
155
|
next: number;
|
146
156
|
}[]>;
|
147
|
-
removeRepeatable(name: NameType, repeatOpts: RepeatOptions, jobId?: string): Promise<
|
148
|
-
removeRepeatableByKey(key: string): Promise<
|
157
|
+
removeRepeatable(name: NameType, repeatOpts: RepeatOptions, jobId?: string): Promise<boolean>;
|
158
|
+
removeRepeatableByKey(key: string): Promise<boolean>;
|
149
159
|
/**
|
150
160
|
* Removes the given job from the queue as well as all its
|
151
161
|
* dependencies.
|
@@ -4,7 +4,6 @@ import { isRedisInstance, jobIdForGroup } from '../utils';
|
|
4
4
|
import { Job } from './job';
|
5
5
|
import { QueueGetters } from './queue-getters';
|
6
6
|
import { Repeat } from './repeat';
|
7
|
-
import { Scripts } from './scripts';
|
8
7
|
/**
|
9
8
|
* Queue
|
10
9
|
*
|
@@ -73,11 +72,17 @@ export class Queue extends QueueGetters {
|
|
73
72
|
}
|
74
73
|
else {
|
75
74
|
const jobId = jobIdForGroup(opts, data, { limiter: this.limiter });
|
76
|
-
const job = await Job.create(this, name, data, Object.assign(Object.assign(Object.assign({}, this.jobsOpts), opts), { jobId }));
|
75
|
+
const job = await this.Job.create(this, name, data, Object.assign(Object.assign(Object.assign({}, this.jobsOpts), opts), { jobId }));
|
77
76
|
this.emit('waiting', job);
|
78
77
|
return job;
|
79
78
|
}
|
80
79
|
}
|
80
|
+
/**
|
81
|
+
* Helper to easily extend Job class calls.
|
82
|
+
*/
|
83
|
+
get Job() {
|
84
|
+
return Job;
|
85
|
+
}
|
81
86
|
/**
|
82
87
|
* Adds an array of jobs to the queue.
|
83
88
|
*
|
@@ -103,7 +108,7 @@ export class Queue extends QueueGetters {
|
|
103
108
|
* and in that case it will add it there instead of the wait list.
|
104
109
|
*/
|
105
110
|
async pause() {
|
106
|
-
await
|
111
|
+
await this.scripts.pause(true);
|
107
112
|
this.emit('paused');
|
108
113
|
}
|
109
114
|
async close() {
|
@@ -121,7 +126,7 @@ export class Queue extends QueueGetters {
|
|
121
126
|
* queue.
|
122
127
|
*/
|
123
128
|
async resume() {
|
124
|
-
await
|
129
|
+
await this.scripts.pause(false);
|
125
130
|
this.emit('resumed');
|
126
131
|
}
|
127
132
|
/**
|
@@ -144,10 +149,14 @@ export class Queue extends QueueGetters {
|
|
144
149
|
return (await this.repeat).getRepeatableJobs(start, end, asc);
|
145
150
|
}
|
146
151
|
async removeRepeatable(name, repeatOpts, jobId) {
|
147
|
-
|
152
|
+
const repeat = await this.repeat;
|
153
|
+
const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
|
154
|
+
return !removed;
|
148
155
|
}
|
149
156
|
async removeRepeatableByKey(key) {
|
150
|
-
|
157
|
+
const repeat = await this.repeat;
|
158
|
+
const removed = await repeat.removeRepeatableByKey(key);
|
159
|
+
return !removed;
|
151
160
|
}
|
152
161
|
/**
|
153
162
|
* Removes the given job from the queue as well as all its
|
@@ -158,7 +167,7 @@ export class Queue extends QueueGetters {
|
|
158
167
|
* any of its dependencies was locked.
|
159
168
|
*/
|
160
169
|
remove(jobId) {
|
161
|
-
return
|
170
|
+
return this.scripts.remove(jobId);
|
162
171
|
}
|
163
172
|
/**
|
164
173
|
* Drains the queue, i.e., removes all jobs that are waiting
|
@@ -168,7 +177,7 @@ export class Queue extends QueueGetters {
|
|
168
177
|
* delayed jobs.
|
169
178
|
*/
|
170
179
|
drain(delayed = false) {
|
171
|
-
return
|
180
|
+
return this.scripts.drain(delayed);
|
172
181
|
}
|
173
182
|
/**
|
174
183
|
* Cleans jobs from a queue. Similar to drain but keeps jobs within a certain
|
@@ -181,7 +190,7 @@ export class Queue extends QueueGetters {
|
|
181
190
|
* @returns Id jobs from the deleted records
|
182
191
|
*/
|
183
192
|
async clean(grace, limit, type = 'completed') {
|
184
|
-
const jobs = await
|
193
|
+
const jobs = await this.scripts.cleanJobsInSet(type, Date.now() - grace, limit);
|
185
194
|
this.emit('cleaned', jobs, type);
|
186
195
|
return jobs;
|
187
196
|
}
|
@@ -200,7 +209,7 @@ export class Queue extends QueueGetters {
|
|
200
209
|
await this.pause();
|
201
210
|
let cursor = 0;
|
202
211
|
do {
|
203
|
-
cursor = await
|
212
|
+
cursor = await this.scripts.obliterate(Object.assign({ force: false, count: 1000 }, opts));
|
204
213
|
} while (cursor);
|
205
214
|
}
|
206
215
|
/**
|
@@ -213,7 +222,7 @@ export class Queue extends QueueGetters {
|
|
213
222
|
async retryJobs(opts = {}) {
|
214
223
|
let cursor = 0;
|
215
224
|
do {
|
216
|
-
cursor = await
|
225
|
+
cursor = await this.scripts.retryJobs(opts.state, opts.count, opts.timestamp);
|
217
226
|
} while (cursor);
|
218
227
|
}
|
219
228
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/classes/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAkB,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5C,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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"}
|
@@ -4,8 +4,8 @@ import { Job } from './job';
|
|
4
4
|
export declare class Repeat extends QueueBase {
|
5
5
|
addNextRepeatableJob<T = any, R = any, N extends string = string>(name: N, data: T, opts: JobsOptions, skipCheckExists?: boolean): Promise<Job<T, R, N>>;
|
6
6
|
private createNextJob;
|
7
|
-
removeRepeatable(name: string, repeat: RepeatOptions, jobId?: string): Promise<
|
8
|
-
removeRepeatableByKey(repeatJobKey: string): Promise<
|
7
|
+
removeRepeatable(name: string, repeat: RepeatOptions, jobId?: string): Promise<number>;
|
8
|
+
removeRepeatableByKey(repeatJobKey: string): Promise<number>;
|
9
9
|
private keyToData;
|
10
10
|
getRepeatableJobs(start?: number, end?: number, asc?: boolean): Promise<{
|
11
11
|
key: string;
|
@@ -2,7 +2,6 @@ import { __rest } from "tslib";
|
|
2
2
|
import { createHash } from 'crypto';
|
3
3
|
import { QueueBase } from './queue-base';
|
4
4
|
import { Job } from './job';
|
5
|
-
import { Scripts } from './scripts';
|
6
5
|
import { parseExpression } from 'cron-parser';
|
7
6
|
export class Repeat extends QueueBase {
|
8
7
|
async addNextRepeatableJob(name, data, opts, skipCheckExists) {
|
@@ -58,12 +57,12 @@ export class Repeat extends QueueBase {
|
|
58
57
|
async removeRepeatable(name, repeat, jobId) {
|
59
58
|
const repeatJobKey = getRepeatKey(name, Object.assign(Object.assign({}, repeat), { jobId }));
|
60
59
|
const repeatJobId = getRepeatJobId(name, '', md5(repeatJobKey), jobId || repeat.jobId);
|
61
|
-
return
|
60
|
+
return this.scripts.removeRepeatable(repeatJobId, repeatJobKey);
|
62
61
|
}
|
63
62
|
async removeRepeatableByKey(repeatJobKey) {
|
64
63
|
const data = this.keyToData(repeatJobKey);
|
65
64
|
const repeatJobId = getRepeatJobId(data.name, '', md5(repeatJobKey), data.id);
|
66
|
-
return
|
65
|
+
return this.scripts.removeRepeatable(repeatJobId, repeatJobKey);
|
67
66
|
}
|
68
67
|
keyToData(key) {
|
69
68
|
const data = key.split(':');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../../src/classes/repeat.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../../src/classes/repeat.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,9 @@
|
|
1
1
|
/**
|
2
2
|
* Includes all the scripts needed by the queue and jobs.
|
3
3
|
*/
|
4
|
+
/// <reference types="node" />
|
4
5
|
import { JobJson, JobJsonRaw, JobsOptions, RedisClient, KeepJobs } from '../interfaces';
|
5
6
|
import { JobState, FinishedStatus, FinishedPropValAttribute } from '../types';
|
6
|
-
import { Worker } from './worker';
|
7
|
-
import { QueueScheduler } from './queue-scheduler';
|
8
7
|
import { QueueBase } from './queue-base';
|
9
8
|
import { Job, MoveToChildrenOpts } from './job';
|
10
9
|
export declare type MinimalQueue = Pick<QueueBase, 'name' | 'client' | 'toKey' | 'keys' | 'opts' | 'closing' | 'waitUntilReady' | 'removeListener' | 'emit' | 'on' | 'redisVersion'>;
|
@@ -15,29 +14,31 @@ export declare type ParentOpts = {
|
|
15
14
|
};
|
16
15
|
export declare type JobData = [JobJsonRaw | number, string?];
|
17
16
|
export declare class Scripts {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
17
|
+
protected queue: MinimalQueue;
|
18
|
+
constructor(queue: MinimalQueue);
|
19
|
+
isJobInList(listKey: string, jobId: string): Promise<boolean>;
|
20
|
+
addJob(client: RedisClient, job: JobJson, opts: JobsOptions, jobId: string, parentOpts?: ParentOpts): Promise<string>;
|
21
|
+
pause(pause: boolean): Promise<void>;
|
22
|
+
private removeRepeatableArgs;
|
23
|
+
removeRepeatable(repeatJobId: string, repeatJobKey: string): Promise<number>;
|
24
|
+
remove(jobId: string): Promise<number>;
|
25
|
+
extendLock(jobId: string, token: string, duration: number): Promise<number>;
|
26
|
+
updateData<T = any, R = any, N extends string = string>(job: Job<T, R, N>, data: T): Promise<void>;
|
27
|
+
updateProgress<T = any, R = any, N extends string = string>(job: Job<T, R, N>, progress: number | object): Promise<void>;
|
28
|
+
protected moveToFinishedArgs<T = any, R = any, N extends string = string>(job: Job<T, R, N>, val: any, propVal: FinishedPropValAttribute, shouldRemove: boolean | number | KeepJobs, target: FinishedStatus, token: string, fetchNext?: boolean): (string | number | boolean | Buffer)[];
|
29
|
+
protected moveToFinished<DataType = any, ReturnType = any, NameType extends string = string>(job: Job<DataType, ReturnType, NameType>, val: any, propVal: FinishedPropValAttribute, shouldRemove: boolean | number | KeepJobs, target: FinishedStatus, token: string, fetchNext: boolean): Promise<JobData | []>;
|
30
|
+
finishedErrors(code: number, jobId: string, command: string, state?: string): Error;
|
31
|
+
private drainArgs;
|
32
|
+
drain(delayed: boolean): Promise<void>;
|
33
|
+
moveToCompleted<T = any, R = any, N extends string = string>(job: Job<T, R, N>, returnvalue: R, removeOnComplete: boolean | number | KeepJobs, token: string, fetchNext: boolean): Promise<JobData | []>;
|
34
|
+
moveToFailedArgs<T = any, R = any, N extends string = string>(job: Job<T, R, N>, failedReason: string, removeOnFailed: boolean | number | KeepJobs, token: string, fetchNext?: boolean): (string | number | boolean | Buffer)[];
|
35
|
+
isFinished(jobId: string, returnValue?: boolean): Promise<number | [number, string]>;
|
36
|
+
getState(jobId: string): Promise<JobState | 'unknown'>;
|
37
|
+
changeDelay(jobId: string, delay: number): Promise<void>;
|
38
|
+
private changeDelayArgs;
|
39
|
+
moveToDelayedArgs(jobId: string, timestamp: number, token: string): string[];
|
40
|
+
moveToWaitingChildrenArgs(jobId: string, token: string, opts?: MoveToChildrenOpts): string[];
|
41
|
+
moveToDelayed(jobId: string, timestamp: number, token?: string): Promise<void>;
|
41
42
|
/**
|
42
43
|
* Move parent job to waiting-children state.
|
43
44
|
*
|
@@ -49,16 +50,16 @@ export declare class Scripts {
|
|
49
50
|
* @throws JobNotInState
|
50
51
|
* This exception is thrown if job is not in active state.
|
51
52
|
*/
|
52
|
-
|
53
|
+
moveToWaitingChildren(jobId: string, token: string, opts?: MoveToChildrenOpts): Promise<boolean>;
|
53
54
|
/**
|
54
55
|
* Remove jobs in a specific state.
|
55
56
|
*
|
56
57
|
* @returns Id jobs from the deleted records.
|
57
58
|
*/
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
59
|
+
cleanJobsInSet(set: string, timestamp: number, limit?: number): Promise<string[]>;
|
60
|
+
retryJobArgs<T = any, R = any, N extends string = string>(job: Job<T, R, N>): string[];
|
61
|
+
protected retryJobsArgs(state: FinishedStatus, count: number, timestamp: number): (string | number)[];
|
62
|
+
retryJobs(state?: FinishedStatus, count?: number, timestamp?: number): Promise<number>;
|
62
63
|
/**
|
63
64
|
* Attempts to reprocess a job
|
64
65
|
*
|
@@ -73,14 +74,14 @@ export declare class Scripts {
|
|
73
74
|
* -1 means the job is currently locked and can't be retried.
|
74
75
|
* -2 means the job was not found in the expected set
|
75
76
|
*/
|
76
|
-
|
77
|
-
|
77
|
+
reprocessJob<T = any, R = any, N extends string = string>(job: Job<T, R, N>, state: 'failed' | 'completed'): Promise<void>;
|
78
|
+
moveToActive<T, R, N extends string>(token: string, jobId?: string): Promise<[] | [number | JobJsonRaw, string?]>;
|
78
79
|
/**
|
79
80
|
* It checks if the job in the top of the delay set should be moved back to the
|
80
81
|
* top of the wait queue (so that it will be processed as soon as possible)
|
81
82
|
*/
|
82
|
-
|
83
|
-
|
83
|
+
updateDelaySet(delayedTimestamp: number): Promise<[number, string]>;
|
84
|
+
promote(jobId: string): Promise<number>;
|
84
85
|
/**
|
85
86
|
* Looks for unlocked jobs in the active queue.
|
86
87
|
*
|
@@ -90,8 +91,8 @@ export declare class Scripts {
|
|
90
91
|
* (e.g. if the job handler keeps crashing),
|
91
92
|
* we limit the number stalled job recoveries to settings.maxStalledCount.
|
92
93
|
*/
|
93
|
-
|
94
|
-
|
94
|
+
moveStalledJobsToWait(): Promise<any>;
|
95
|
+
obliterate(opts: {
|
95
96
|
force: boolean;
|
96
97
|
count: number;
|
97
98
|
}): Promise<number>;
|