bullmq 1.65.1 → 1.67.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.
Files changed (52) hide show
  1. package/dist/bullmq.d.ts +44 -10
  2. package/dist/cjs/classes/job.d.ts +3 -2
  3. package/dist/cjs/classes/job.js +8 -8
  4. package/dist/cjs/classes/job.js.map +1 -1
  5. package/dist/cjs/classes/queue-events.d.ts +9 -0
  6. package/dist/cjs/classes/queue-events.js.map +1 -1
  7. package/dist/cjs/classes/scripts.d.ts +5 -5
  8. package/dist/cjs/classes/scripts.js +15 -11
  9. package/dist/cjs/classes/scripts.js.map +1 -1
  10. package/dist/cjs/commands/moveToActive-8.lua +1 -0
  11. package/dist/cjs/commands/moveToFinished-8.lua +57 -35
  12. package/dist/cjs/commands/reprocessJob-4.lua +3 -1
  13. package/dist/cjs/interfaces/index.d.ts +1 -0
  14. package/dist/cjs/interfaces/index.js +1 -0
  15. package/dist/cjs/interfaces/index.js.map +1 -1
  16. package/dist/cjs/interfaces/jobs-options.d.ts +7 -6
  17. package/dist/cjs/interfaces/keep-jobs.d.ts +17 -0
  18. package/dist/cjs/interfaces/keep-jobs.js +3 -0
  19. package/dist/cjs/interfaces/keep-jobs.js.map +1 -0
  20. package/dist/cjs/types/finished-target.d.ts +2 -0
  21. package/dist/cjs/types/finished-target.js +3 -0
  22. package/dist/cjs/types/finished-target.js.map +1 -0
  23. package/dist/cjs/types/index.d.ts +1 -0
  24. package/dist/cjs/types/index.js +1 -0
  25. package/dist/cjs/types/index.js.map +1 -1
  26. package/dist/cjs/types/job-type.d.ts +2 -1
  27. package/dist/esm/classes/job.d.ts +3 -2
  28. package/dist/esm/classes/job.js +8 -8
  29. package/dist/esm/classes/job.js.map +1 -1
  30. package/dist/esm/classes/queue-events.d.ts +9 -0
  31. package/dist/esm/classes/queue-events.js.map +1 -1
  32. package/dist/esm/classes/scripts.d.ts +5 -5
  33. package/dist/esm/classes/scripts.js +15 -11
  34. package/dist/esm/classes/scripts.js.map +1 -1
  35. package/dist/esm/commands/moveToActive-8.lua +1 -0
  36. package/dist/esm/commands/moveToFinished-8.lua +57 -35
  37. package/dist/esm/commands/reprocessJob-4.lua +3 -1
  38. package/dist/esm/interfaces/index.d.ts +1 -0
  39. package/dist/esm/interfaces/index.js +1 -0
  40. package/dist/esm/interfaces/index.js.map +1 -1
  41. package/dist/esm/interfaces/jobs-options.d.ts +7 -6
  42. package/dist/esm/interfaces/keep-jobs.d.ts +17 -0
  43. package/dist/esm/interfaces/keep-jobs.js +1 -0
  44. package/dist/esm/interfaces/keep-jobs.js.map +1 -0
  45. package/dist/esm/types/finished-target.d.ts +2 -0
  46. package/dist/esm/types/finished-target.js +1 -0
  47. package/dist/esm/types/finished-target.js.map +1 -0
  48. package/dist/esm/types/index.d.ts +1 -0
  49. package/dist/esm/types/index.js +1 -0
  50. package/dist/esm/types/index.js.map +1 -1
  51. package/dist/esm/types/job-type.d.ts +2 -1
  52. package/package.json +1 -1
@@ -28,6 +28,8 @@
28
28
  ARGV[12] parentId
29
29
  ARGV[13] parentQueue
30
30
  ARGV[14] parentKey
31
+ ARGV[15] max attempts
32
+ ARGV[16] attemptsMade
31
33
 
32
34
  Output:
33
35
  0 OK
@@ -47,36 +49,36 @@ local rcall = redis.call
47
49
  --- @include "includes/removeParentDependencyKey"
48
50
 
49
51
  local jobIdKey = KEYS[3]
50
- if rcall("EXISTS",jobIdKey) == 1 then -- // Make sure job exists
52
+ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
51
53
 
52
54
  if rcall("SCARD", jobIdKey .. ":dependencies") ~= 0 then -- // Make sure it does not have pending dependencies
53
- return -4
55
+ return -4
54
56
  end
55
57
 
56
58
  if ARGV[10] ~= "0" then
57
- local lockKey = jobIdKey .. ':lock'
58
- if rcall("GET", lockKey) == ARGV[10] then
59
- rcall("DEL", lockKey)
60
- rcall("SREM", KEYS[8], ARGV[1])
61
- else
62
- return -2
63
- end
59
+ local lockKey = jobIdKey .. ':lock'
60
+ if rcall("GET", lockKey) == ARGV[10] then
61
+ rcall("DEL", lockKey)
62
+ rcall("SREM", KEYS[8], ARGV[1])
63
+ else
64
+ return -2
65
+ end
64
66
  end
65
67
 
66
68
  local jobId = ARGV[1]
69
+ local timestamp = ARGV[2]
67
70
 
68
71
  -- Remove from active list (if not active we shall return error)
69
72
  local numRemovedElements = rcall("LREM", KEYS[1], -1, jobId)
70
73
 
71
- if(numRemovedElements < 1) then
74
+ if (numRemovedElements < 1) then
72
75
  return -3
73
76
  end
74
77
 
75
-
76
78
  -- Trim events before emiting them to avoid trimming events emitted in this script
77
79
  local maxEvents = rcall("HGET", KEYS[7], "opts.maxLenEvents")
78
80
  if (maxEvents == false) then
79
- maxEvents = 10000
81
+ maxEvents = 10000
80
82
  end
81
83
  rcall("XTRIM", KEYS[6], "MAXLEN", "~", maxEvents)
82
84
 
@@ -89,38 +91,51 @@ if rcall("EXISTS",jobIdKey) == 1 then -- // Make sure job exists
89
91
  local parentId = ARGV[12]
90
92
  local parentQueueKey = ARGV[13]
91
93
  if parentId == "" and ARGV[14] ~= "" then
92
- parentId = getJobIdFromKey(ARGV[14])
93
- parentQueueKey = getJobKeyPrefix(ARGV[14], ":" .. parentId)
94
+ parentId = getJobIdFromKey(ARGV[14])
95
+ parentQueueKey = getJobKeyPrefix(ARGV[14], ":" .. parentId)
94
96
  end
95
97
  if parentId ~= "" and ARGV[5] == "completed" then
96
- local parentKey = parentQueueKey .. ":" .. parentId
98
+ local parentKey = parentQueueKey .. ":" .. parentId
97
99
  local dependenciesSet = parentKey .. ":dependencies"
98
100
  local result = rcall("SREM", dependenciesSet, jobIdKey)
99
101
  if result == 1 then
100
- updateParentDepsIfNeeded(parentKey, parentQueueKey, dependenciesSet, parentId, jobIdKey, ARGV[4])
102
+ updateParentDepsIfNeeded(parentKey, parentQueueKey, dependenciesSet,
103
+ parentId, jobIdKey, ARGV[4])
101
104
  end
102
105
  end
103
106
 
104
107
  -- Remove job?
105
- local removeJobs = tonumber(ARGV[6])
106
- if removeJobs ~= 1 then
108
+ local keepJobs = cmsgpack.unpack(ARGV[6])
109
+ local maxCount = keepJobs['count']
110
+ local maxAge = keepJobs['age']
111
+ if maxCount ~= 0 then
112
+ local targetSet = KEYS[2]
107
113
  -- Add to complete/failed set
108
- rcall("ZADD", KEYS[2], ARGV[2], jobId)
109
- rcall("HMSET", jobIdKey, ARGV[3], ARGV[4], "finishedOn",
110
- ARGV[2]) -- "returnvalue" / "failedReason" and "finishedOn"
114
+ rcall("ZADD", targetSet, timestamp, jobId)
115
+ rcall("HMSET", jobIdKey, ARGV[3], ARGV[4], "finishedOn", timestamp) -- "returnvalue" / "failedReason" and "finishedOn"
111
116
 
112
117
  -- Remove old jobs?
113
- if removeJobs and removeJobs > 1 then
114
- local start = removeJobs - 1
115
- local jobIds = rcall("ZREVRANGE", KEYS[2], start, -1)
116
- for i, jobId in ipairs(jobIds) do
117
- local jobKey = ARGV[9] .. jobId
118
- removeParentDependencyKey(jobKey)
119
- local jobLogKey = jobKey .. ':logs'
120
- local jobProcessedKey = jobKey .. ':processed'
121
- rcall("DEL", jobKey, jobLogKey, jobProcessedKey)
122
- end
123
- rcall("ZREMRANGEBYRANK", KEYS[2], 0, -removeJobs)
118
+ local prefix = ARGV[9]
119
+ local function removeJob(jobId)
120
+ local jobKey = prefix .. jobId
121
+ removeParentDependencyKey(jobKey)
122
+ local jobLogKey = jobKey .. ':logs'
123
+ local jobProcessedKey = jobKey .. ':processed'
124
+ rcall("DEL", jobKey, jobLogKey, jobProcessedKey)
125
+ end
126
+
127
+ if maxAge ~= nil then
128
+ local start = timestamp - maxAge * 1000
129
+ local jobIds = rcall("ZREVRANGEBYSCORE", targetSet, start, "-inf")
130
+ for i, jobId in ipairs(jobIds) do removeJob(jobId) end
131
+ rcall("ZREMRANGEBYSCORE", targetSet, "-inf", start)
132
+ end
133
+
134
+ if maxCount ~= nil and maxCount > 0 then
135
+ local start = maxCount
136
+ local jobIds = rcall("ZREVRANGE", targetSet, start, -1)
137
+ for i, jobId in ipairs(jobIds) do removeJob(jobId) end
138
+ rcall("ZREMRANGEBYRANK", targetSet, 0, -(maxCount + 1))
124
139
  end
125
140
  else
126
141
  local jobLogKey = jobIdKey .. ':logs'
@@ -131,6 +146,13 @@ if rcall("EXISTS",jobIdKey) == 1 then -- // Make sure job exists
131
146
  rcall("XADD", KEYS[6], "*", "event", ARGV[5], "jobId", jobId, ARGV[3],
132
147
  ARGV[4])
133
148
 
149
+ if ARGV[5] == "failed" then
150
+ if tonumber(ARGV[16]) >= tonumber(ARGV[15]) then
151
+ rcall("XADD", KEYS[6], "*", "event", "retries-exhausted", "jobId",
152
+ jobId, "attemptsMade", ARGV[16])
153
+ end
154
+ end
155
+
134
156
  -- Try to get next job to avoid an extra roundtrip if the queue is not closing,
135
157
  -- and not rate limited.
136
158
  if (ARGV[8] == "1") then
@@ -142,17 +164,17 @@ if rcall("EXISTS",jobIdKey) == 1 then -- // Make sure job exists
142
164
 
143
165
  -- get a lock
144
166
  if ARGV[10] ~= "0" then
145
- rcall("SET", lockKey, ARGV[10], "PX", ARGV[11])
167
+ rcall("SET", lockKey, ARGV[10], "PX", ARGV[11])
146
168
  end
147
169
 
148
170
  rcall("ZREM", KEYS[5], jobId) -- remove from priority
149
171
  rcall("XADD", KEYS[6], "*", "event", "active", "jobId", jobId,
150
172
  "prev", "waiting")
151
- rcall("HSET", jobKey, "processedOn", ARGV[2])
173
+ rcall("HSET", jobKey, "processedOn", timestamp)
152
174
 
153
175
  return {rcall("HGETALL", jobKey), jobId} -- get job data
154
176
  else
155
- rcall("XADD", KEYS[6], "*", "event", "drained");
177
+ rcall("XADD", KEYS[6], "*", "event", "drained");
156
178
  end
157
179
  end
158
180
 
@@ -7,8 +7,9 @@
7
7
  KEYS[3] job state
8
8
  KEYS[4] wait key
9
9
 
10
- ARGV[1] job.id,
10
+ ARGV[1] job.id
11
11
  ARGV[2] (job.opts.lifo ? 'R' : 'L') + 'PUSH'
12
+ ARGV[3] propVal - failedReason/returnvalue
12
13
 
13
14
  Output:
14
15
  1 means the operation was a success
@@ -20,6 +21,7 @@ if (rcall("EXISTS", KEYS[1]) == 1) then
20
21
  local jobId = ARGV[1]
21
22
  if (rcall("ZREM", KEYS[3], jobId) == 1) then
22
23
  rcall(ARGV[2], KEYS[4], jobId)
24
+ rcall("HDEL", KEYS[1], "finishedOn", "processedOn", ARGV[3])
23
25
 
24
26
  -- Emit waiting event
25
27
  rcall("XADD", KEYS[2], "*", "event", "waiting", "jobId", jobId);
@@ -6,6 +6,7 @@ export * from './connection';
6
6
  export * from './flow-job';
7
7
  export * from './job-json';
8
8
  export * from './jobs-options';
9
+ export * from './keep-jobs';
9
10
  export * from './parent-command';
10
11
  export * from './parent-message';
11
12
  export * from './parent';
@@ -9,6 +9,7 @@ tslib_1.__exportStar(require("./connection"), exports);
9
9
  tslib_1.__exportStar(require("./flow-job"), exports);
10
10
  tslib_1.__exportStar(require("./job-json"), exports);
11
11
  tslib_1.__exportStar(require("./jobs-options"), exports);
12
+ tslib_1.__exportStar(require("./keep-jobs"), exports);
12
13
  tslib_1.__exportStar(require("./parent-command"), exports);
13
14
  tslib_1.__exportStar(require("./parent-message"), exports);
14
15
  tslib_1.__exportStar(require("./parent"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,4DAAkC;AAClC,0DAAgC;AAChC,0DAAgC;AAChC,uDAA6B;AAC7B,qDAA2B;AAC3B,qDAA2B;AAC3B,yDAA+B;AAC/B,2DAAiC;AACjC,2DAAiC;AACjC,mDAAyB;AACzB,0DAAgC;AAChC,oEAA0C;AAC1C,iEAAuC;AACvC,0DAAgC;AAChC,0DAAgC;AAChC,2DAAiC;AACjC,oEAA0C;AAC1C,0DAAgC;AAChC,2DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,4DAAkC;AAClC,0DAAgC;AAChC,0DAAgC;AAChC,uDAA6B;AAC7B,qDAA2B;AAC3B,qDAA2B;AAC3B,yDAA+B;AAC/B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,mDAAyB;AACzB,0DAAgC;AAChC,oEAA0C;AAC1C,iEAAuC;AACvC,0DAAgC;AAChC,0DAAgC;AAChC,2DAAiC;AACjC,oEAA0C;AAC1C,0DAAgC;AAChC,2DAAiC"}
@@ -1,5 +1,4 @@
1
- import { RepeatOptions } from './repeat-options';
2
- import { BackoffOptions } from './backoff-options';
1
+ import { RepeatOptions, KeepJobs, BackoffOptions } from './';
3
2
  export interface JobsOptions {
4
3
  /**
5
4
  * Timestamp when the job was created. Defaults to `Date.now()`.
@@ -59,16 +58,18 @@ export interface JobsOptions {
59
58
  /**
60
59
  * If true, removes the job when it successfully completes
61
60
  * When given an number, it specifies the maximum amount of
62
- * jobs to keep.
61
+ * jobs to keep, or you can provide an object specifying max
62
+ * age and/or count to keep.
63
63
  * Default behavior is to keep the job in the completed set.
64
64
  */
65
- removeOnComplete?: boolean | number;
65
+ removeOnComplete?: boolean | number | KeepJobs;
66
66
  /**
67
67
  * If true, removes the job when it fails after all attempts.
68
68
  * When given an number, it specifies the maximum amount of
69
- * jobs to keep.
69
+ * jobs to keep, or you can provide an object specifying max
70
+ * age and/or count to keep.
70
71
  */
71
- removeOnFail?: boolean | number;
72
+ removeOnFail?: boolean | number | KeepJobs;
72
73
  /**
73
74
  * Limits the amount of stack trace lines that will be recorded in the stacktrace.
74
75
  */
@@ -0,0 +1,17 @@
1
+ /**
2
+ * KeepJobs
3
+ *
4
+ * Specify which jobs to keep after finishing. If both age and count are
5
+ * specified, then the jobs kept will be the ones that satisfies both
6
+ * properties.
7
+ */
8
+ export interface KeepJobs {
9
+ /**
10
+ * Maximum age in seconds for job to be kept.
11
+ */
12
+ age?: number;
13
+ /**
14
+ * Maximum count of jobs to be kept.
15
+ */
16
+ count?: number;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=keep-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keep-jobs.js","sourceRoot":"","sources":["../../../src/interfaces/keep-jobs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare type FinishedTarget = 'completed' | 'failed';
2
+ export declare type FinishedPropValAttribute = 'returnvalue' | 'failedReason';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=finished-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finished-target.js","sourceRoot":"","sources":["../../../src/types/finished-target.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
+ export * from './finished-target';
1
2
  export * from './job-type';
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./finished-target"), exports);
4
5
  tslib_1.__exportStar(require("./job-type"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,qDAA2B"}
@@ -1,2 +1,3 @@
1
- export declare type JobState = 'active' | 'completed' | 'delayed' | 'failed' | 'waiting' | 'waiting-children';
1
+ import { FinishedTarget } from './finished-target';
2
+ export declare type JobState = FinishedTarget | 'active' | 'delayed' | 'waiting' | 'waiting-children';
2
3
  export declare type JobType = JobState | 'paused' | 'repeat' | 'wait';
@@ -286,8 +286,9 @@ export declare class Job<DataType = any, ReturnType = any, NameType extends stri
286
286
  */
287
287
  promote(): Promise<void>;
288
288
  /**
289
- * Attempts to retry the job. Only a job that has failed can be retried.
289
+ * Attempts to retry the job. Only a job that has failed or completed can be retried.
290
290
  *
291
+ * @param state - completed / failed
291
292
  * @returns If resolved and return code is 1, then the queue emits a waiting event
292
293
  * otherwise the operation was not a success and throw the corresponding error. If the promise
293
294
  * rejects, it indicates that the script failed to execute
@@ -307,5 +308,5 @@ export declare class Job<DataType = any, ReturnType = any, NameType extends stri
307
308
  * @returns
308
309
  */
309
310
  addJob(client: RedisClient, parentOpts?: ParentOpts): Promise<string>;
310
- private saveAttempt;
311
+ private saveStacktrace;
311
312
  }
@@ -268,7 +268,7 @@ export class Job {
268
268
  this.failedReason = message;
269
269
  let command;
270
270
  const multi = client.multi();
271
- this.saveAttempt(multi, err);
271
+ this.saveStacktrace(multi, err);
272
272
  //
273
273
  // Check if an automatic retry should be performed
274
274
  //
@@ -296,7 +296,9 @@ export class Job {
296
296
  moveToFailed = true;
297
297
  }
298
298
  if (moveToFailed) {
299
- const args = Scripts.moveToFailedArgs(queue, this, message, this.opts.removeOnFail, token, fetchNext);
299
+ const args = Scripts.moveToFailedArgs(queue, this, message, this.opts.removeOnFail, token, fetchNext, this.opts.attempts && this.attemptsMade >= this.opts.attempts
300
+ ? this.attemptsMade
301
+ : 0);
300
302
  multi.moveToFinished(args);
301
303
  command = 'failed';
302
304
  }
@@ -543,18 +545,18 @@ export class Job {
543
545
  }
544
546
  }
545
547
  /**
546
- * Attempts to retry the job. Only a job that has failed can be retried.
548
+ * Attempts to retry the job. Only a job that has failed or completed can be retried.
547
549
  *
550
+ * @param state - completed / failed
548
551
  * @returns If resolved and return code is 1, then the queue emits a waiting event
549
552
  * otherwise the operation was not a success and throw the corresponding error. If the promise
550
553
  * rejects, it indicates that the script failed to execute
551
554
  */
552
555
  async retry(state = 'failed') {
553
- const client = await this.queue.client;
554
556
  this.failedReason = null;
555
557
  this.finishedOn = null;
556
558
  this.processedOn = null;
557
- await client.hdel(this.queue.toKey(this.id), 'finishedOn', 'processedOn', 'failedReason');
559
+ this.returnvalue = null;
558
560
  return Scripts.reprocessJob(this.queue, this, state);
559
561
  }
560
562
  /**
@@ -592,8 +594,7 @@ export class Job {
592
594
  }
593
595
  return Scripts.addJob(client, queue, jobData, this.opts, this.id, parentOpts);
594
596
  }
595
- saveAttempt(multi, err) {
596
- this.attemptsMade++;
597
+ saveStacktrace(multi, err) {
597
598
  this.stacktrace = this.stacktrace || [];
598
599
  if (err === null || err === void 0 ? void 0 : err.stack) {
599
600
  this.stacktrace.push(err.stack);
@@ -602,7 +603,6 @@ export class Job {
602
603
  }
603
604
  }
604
605
  const params = {
605
- attemptsMade: this.attemptsMade,
606
606
  stacktrace: JSON.stringify(this.stacktrace),
607
607
  failedReason: err === null || err === void 0 ? void 0 : err.message,
608
608
  };
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/classes/job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/classes/job.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,15 @@ export interface QueueEventsListener {
106
106
  * This event is triggered when a queue is resumed.
107
107
  */
108
108
  resumed: (args: {}, id: string) => void;
109
+ /**
110
+ * Listen to 'retries-exhausted' event.
111
+ *
112
+ * This event is triggered when a job has retried the maximum attempts.
113
+ */
114
+ 'retries-exhausted': (args: {
115
+ jobId: string;
116
+ attemptsMade: string;
117
+ }, id: string) => void;
109
118
  /**
110
119
  * Listen to 'stalled' event.
111
120
  *
@@ -1 +1 @@
1
- {"version":3,"file":"queue-events.js","sourceRoot":"","sources":["../../../src/classes/queue-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-events.js","sourceRoot":"","sources":["../../../src/classes/queue-events.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Includes all the scripts needed by the queue and jobs.
3
3
  */
4
- import { JobJson, JobJsonRaw, JobsOptions, RedisClient } from '../interfaces';
5
- import { JobState } from '../types';
4
+ import { JobJson, JobJsonRaw, JobsOptions, RedisClient, KeepJobs } from '../interfaces';
5
+ import { JobState, FinishedTarget, FinishedPropValAttribute } from '../types';
6
6
  import { Worker } from './worker';
7
7
  import { QueueScheduler } from './queue-scheduler';
8
8
  import { QueueBase } from './queue-base';
@@ -23,13 +23,13 @@ export declare class Scripts {
23
23
  static remove(queue: MinimalQueue, jobId: string): Promise<number>;
24
24
  static extendLock(queue: MinimalQueue, jobId: string, token: string, duration: number): Promise<number>;
25
25
  static updateProgress<T = any, R = any, N extends string = string>(queue: MinimalQueue, job: Job<T, R, N>, progress: number | object): Promise<void>;
26
- static moveToFinishedArgs<T = any, R = any, N extends string = string>(queue: MinimalQueue, job: Job<T, R, N>, val: any, propVal: string, shouldRemove: boolean | number, target: string, token: string, fetchNext?: boolean): string[];
26
+ static moveToFinishedArgs<T = any, R = any, N extends string = string>(queue: MinimalQueue, job: Job<T, R, N>, val: any, propVal: FinishedPropValAttribute, shouldRemove: boolean | number | KeepJobs, target: FinishedTarget, token: string, fetchNext?: boolean): string[];
27
27
  private static moveToFinished;
28
28
  static finishedErrors(code: number, jobId: string, command: string, state?: string): Error;
29
29
  static drainArgs(queue: MinimalQueue, delayed: boolean): string[];
30
30
  static drain(queue: MinimalQueue, delayed: boolean): Promise<void>;
31
- static moveToCompleted<T = any, R = any, N extends string = string>(queue: MinimalQueue, job: Job<T, R, N>, returnvalue: any, removeOnComplete: boolean | number, token: string, fetchNext: boolean): Promise<JobData | []>;
32
- static moveToFailedArgs<T = any, R = any, N extends string = string>(queue: MinimalQueue, job: Job<T, R, N>, failedReason: string, removeOnFailed: boolean | number, token: string, fetchNext?: boolean): string[];
31
+ static moveToCompleted<T = any, R = any, N extends string = string>(queue: MinimalQueue, job: Job<T, R, N>, returnvalue: any, removeOnComplete: boolean | number | KeepJobs, token: string, fetchNext: boolean): Promise<JobData | []>;
32
+ static moveToFailedArgs<T = any, R = any, N extends string = string>(queue: MinimalQueue, job: Job<T, R, N>, failedReason: string, removeOnFailed: boolean | number | KeepJobs, token: string, fetchNext?: boolean, retriesExhausted?: number): string[];
33
33
  static isFinished(queue: MinimalQueue, jobId: string, returnValue?: boolean): Promise<number | [number, string]>;
34
34
  static getState(queue: MinimalQueue, jobId: string): Promise<JobState | 'unknown'>;
35
35
  static changeDelay(queue: MinimalQueue, jobId: string, delay: number): Promise<void>;
@@ -136,20 +136,18 @@ export class Scripts {
136
136
  queueKeys.meta,
137
137
  queueKeys.stalled,
138
138
  ];
139
- let remove;
140
- if (typeof shouldRemove === 'boolean') {
141
- remove = shouldRemove ? '1' : '0';
142
- }
143
- else if (typeof shouldRemove === 'number') {
144
- remove = `${shouldRemove + 1}`;
145
- }
139
+ const keepJobs = pack(typeof shouldRemove === 'object'
140
+ ? shouldRemove
141
+ : typeof shouldRemove === 'number'
142
+ ? { count: shouldRemove }
143
+ : { count: shouldRemove ? 0 : -1 });
146
144
  const args = [
147
145
  job.id,
148
146
  Date.now(),
149
147
  propVal,
150
148
  typeof val === 'undefined' ? 'null' : val,
151
149
  target,
152
- remove,
150
+ keepJobs,
153
151
  JSON.stringify({ jobId: job.id, val: val }),
154
152
  !fetchNext || queue.closing || opts.limiter ? 0 : 1,
155
153
  queueKeys[''],
@@ -158,6 +156,8 @@ export class Scripts {
158
156
  (_b = (_a = job.opts) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.id,
159
157
  (_d = (_c = job.opts) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.queue,
160
158
  job.parentKey,
159
+ job.opts.attempts,
160
+ job.attemptsMade,
161
161
  ];
162
162
  return keys.concat(args);
163
163
  }
@@ -205,7 +205,7 @@ export class Scripts {
205
205
  static moveToCompleted(queue, job, returnvalue, removeOnComplete, token, fetchNext) {
206
206
  return this.moveToFinished(queue, job, returnvalue, 'returnvalue', removeOnComplete, 'completed', token, fetchNext);
207
207
  }
208
- static moveToFailedArgs(queue, job, failedReason, removeOnFailed, token, fetchNext = false) {
208
+ static moveToFailedArgs(queue, job, failedReason, removeOnFailed, token, fetchNext = false, retriesExhausted = 0) {
209
209
  return this.moveToFinishedArgs(queue, job, failedReason, 'failedReason', removeOnFailed, 'failed', token, fetchNext);
210
210
  }
211
211
  static async isFinished(queue, jobId, returnValue = false) {
@@ -377,13 +377,17 @@ export class Scripts {
377
377
  queue.toKey(state),
378
378
  queue.toKey('wait'),
379
379
  ];
380
- const args = [job.id, (job.opts.lifo ? 'R' : 'L') + 'PUSH'];
380
+ const args = [
381
+ job.id,
382
+ (job.opts.lifo ? 'R' : 'L') + 'PUSH',
383
+ state === 'failed' ? 'failedReason' : 'returnvalue',
384
+ ];
381
385
  const result = await client.reprocessJob(keys.concat(args));
382
386
  switch (result) {
383
387
  case 1:
384
388
  return;
385
389
  default:
386
- throw this.finishedErrors(result, job.id, 'reprocessJob', 'failed');
390
+ throw this.finishedErrors(result, job.id, 'reprocessJob', state);
387
391
  }
388
392
  }
389
393
  static async moveToActive(worker, token, jobId) {