bullmq 5.40.2 → 5.40.4
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/job-scheduler.js +30 -7
- package/dist/cjs/classes/job-scheduler.js.map +1 -1
- package/dist/cjs/commands/addJobScheduler-2.lua +5 -41
- package/dist/cjs/commands/includes/storeJobScheduler.lua +46 -0
- package/dist/cjs/scripts/addJobScheduler-2.js +41 -32
- package/dist/cjs/scripts/addJobScheduler-2.js.map +1 -1
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/classes/job-scheduler.d.ts +1 -1
- package/dist/esm/classes/job-scheduler.js +30 -7
- package/dist/esm/classes/job-scheduler.js.map +1 -1
- package/dist/esm/commands/addJobScheduler-2.lua +5 -41
- package/dist/esm/commands/includes/storeJobScheduler.lua +46 -0
- package/dist/esm/scripts/addJobScheduler-2.js +41 -32
- package/dist/esm/scripts/addJobScheduler-2.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
@@ -14,7 +14,7 @@ class JobScheduler extends queue_base_1.QueueBase {
|
|
14
14
|
(opts.settings && opts.settings.repeatStrategy) || exports.defaultRepeatStrategy;
|
15
15
|
}
|
16
16
|
async upsertJobScheduler(jobSchedulerId, repeatOpts, jobName, jobData, opts, { override, producerId }) {
|
17
|
-
const { every, pattern, offset } = repeatOpts;
|
17
|
+
const { every, limit, pattern, offset } = repeatOpts;
|
18
18
|
if (pattern && every) {
|
19
19
|
throw new Error('Both .pattern and .every options are defined for this repeatable job');
|
20
20
|
}
|
@@ -76,6 +76,7 @@ class JobScheduler extends queue_base_1.QueueBase {
|
|
76
76
|
name: jobName,
|
77
77
|
endDate: endDate ? new Date(endDate).getTime() : undefined,
|
78
78
|
tz: repeatOpts.tz,
|
79
|
+
limit,
|
79
80
|
pattern,
|
80
81
|
every,
|
81
82
|
});
|
@@ -146,13 +147,35 @@ class JobScheduler extends queue_base_1.QueueBase {
|
|
146
147
|
}
|
147
148
|
async transformSchedulerData(key, jobData, next) {
|
148
149
|
if (jobData) {
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
150
|
+
const jobSchedulerData = {
|
151
|
+
key,
|
152
|
+
name: jobData.name,
|
153
|
+
next,
|
154
|
+
};
|
155
|
+
if (jobData.limit) {
|
156
|
+
jobSchedulerData.limit = parseInt(jobData.limit);
|
157
|
+
}
|
158
|
+
if (jobData.endDate) {
|
159
|
+
jobSchedulerData.endDate = parseInt(jobData.endDate);
|
160
|
+
}
|
161
|
+
if (jobData.tz) {
|
162
|
+
jobSchedulerData.tz = jobData.tz;
|
163
|
+
}
|
164
|
+
if (jobData.pattern) {
|
165
|
+
jobSchedulerData.pattern = jobData.pattern;
|
166
|
+
}
|
167
|
+
if (jobData.every) {
|
168
|
+
jobSchedulerData.every = jobData.every;
|
169
|
+
}
|
170
|
+
if (jobData.data || jobData.opts) {
|
171
|
+
jobSchedulerData.template = this.getTemplateFromJSON(jobData.data, jobData.opts);
|
172
|
+
}
|
173
|
+
return jobSchedulerData;
|
174
|
+
}
|
175
|
+
// TODO: remove this check and keyToData as it is here only to support legacy code
|
176
|
+
if (key.includes(':')) {
|
177
|
+
return this.keyToData(key, next);
|
154
178
|
}
|
155
|
-
return this.keyToData(key, next);
|
156
179
|
}
|
157
180
|
keyToData(key, next) {
|
158
181
|
const data = key.split(':');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"job-scheduler.js","sourceRoot":"","sources":["../../../src/classes/job-scheduler.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAa9C,+BAA4B;AAC5B,6CAAyC;AAEzC,oCAAyD;AACzD,oCAAqC;AAErC,MAAa,YAAa,SAAQ,sBAAS;IAGzC,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,6BAAqB,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,cAAsB,EACtB,UAAqD,EACrD,OAAU,EACV,OAAU,EACV,IAAiC,EACjC,EAAE,QAAQ,EAAE,UAAU,EAA8C;QAEpE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"job-scheduler.js","sourceRoot":"","sources":["../../../src/classes/job-scheduler.ts"],"names":[],"mappings":"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"}
|
@@ -30,53 +30,16 @@ local prefixKey = ARGV[6]
|
|
30
30
|
|
31
31
|
-- Includes
|
32
32
|
--- @include "includes/removeJob"
|
33
|
-
|
34
|
-
local function storeRepeatableJob(schedulerId, repeatKey, nextMillis, rawOpts, templateData, templateOpts)
|
35
|
-
rcall("ZADD", repeatKey, nextMillis, schedulerId)
|
36
|
-
local opts = cmsgpack.unpack(rawOpts)
|
37
|
-
|
38
|
-
local optionalValues = {}
|
39
|
-
if opts['tz'] then
|
40
|
-
table.insert(optionalValues, "tz")
|
41
|
-
table.insert(optionalValues, opts['tz'])
|
42
|
-
end
|
43
|
-
|
44
|
-
if opts['pattern'] then
|
45
|
-
table.insert(optionalValues, "pattern")
|
46
|
-
table.insert(optionalValues, opts['pattern'])
|
47
|
-
end
|
48
|
-
|
49
|
-
if opts['endDate'] then
|
50
|
-
table.insert(optionalValues, "endDate")
|
51
|
-
table.insert(optionalValues, opts['endDate'])
|
52
|
-
end
|
53
|
-
|
54
|
-
if opts['every'] then
|
55
|
-
table.insert(optionalValues, "every")
|
56
|
-
table.insert(optionalValues, opts['every'])
|
57
|
-
end
|
58
|
-
|
59
|
-
local jsonTemplateOpts = cjson.encode(templateOpts)
|
60
|
-
if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
|
61
|
-
table.insert(optionalValues, "opts")
|
62
|
-
table.insert(optionalValues, jsonTemplateOpts)
|
63
|
-
end
|
64
|
-
|
65
|
-
if templateData and templateData ~= '{}' then
|
66
|
-
table.insert(optionalValues, "data")
|
67
|
-
table.insert(optionalValues, templateData)
|
68
|
-
end
|
69
|
-
|
70
|
-
rcall("HMSET", repeatKey .. ":" .. schedulerId, "name", opts['name'], unpack(optionalValues))
|
71
|
-
end
|
33
|
+
--- @include "includes/storeJobScheduler"
|
72
34
|
|
73
35
|
-- If we are overriding a repeatable job we must delete the delayed job for
|
74
36
|
-- the next iteration.
|
37
|
+
local schedulerKey = repeatKey .. ":" .. jobSchedulerId
|
75
38
|
local prevMillis = rcall("ZSCORE", repeatKey, jobSchedulerId)
|
76
39
|
if prevMillis ~= false then
|
77
40
|
local delayedJobId = "repeat:" .. jobSchedulerId .. ":" .. prevMillis
|
78
41
|
local nextDelayedJobId = "repeat:" .. jobSchedulerId .. ":" .. nextMillis
|
79
|
-
local nextDelayedJobKey =
|
42
|
+
local nextDelayedJobKey = schedulerKey .. ":" .. nextMillis
|
80
43
|
|
81
44
|
if rcall("ZSCORE", delayedKey, delayedJobId) ~= false and
|
82
45
|
(rcall("EXISTS", nextDelayedJobKey) ~= 1 or delayedJobId == nextDelayedJobId) then
|
@@ -85,4 +48,5 @@ if prevMillis ~= false then
|
|
85
48
|
end
|
86
49
|
end
|
87
50
|
|
88
|
-
|
51
|
+
local schedulerOpts = cmsgpack.unpack(ARGV[2])
|
52
|
+
return storeJobScheduler(jobSchedulerId, schedulerKey, repeatKey, nextMillis, schedulerOpts, ARGV[4], templateOpts)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
--[[
|
2
|
+
Function to store a job scheduler
|
3
|
+
]]
|
4
|
+
local function storeJobScheduler(schedulerId, schedulerKey, repeatKey, nextMillis, opts,
|
5
|
+
templateData, templateOpts)
|
6
|
+
rcall("ZADD", repeatKey, nextMillis, schedulerId)
|
7
|
+
|
8
|
+
local optionalValues = {}
|
9
|
+
if opts['tz'] then
|
10
|
+
table.insert(optionalValues, "tz")
|
11
|
+
table.insert(optionalValues, opts['tz'])
|
12
|
+
end
|
13
|
+
|
14
|
+
if opts['limit'] then
|
15
|
+
table.insert(optionalValues, "limit")
|
16
|
+
table.insert(optionalValues, opts['limit'])
|
17
|
+
end
|
18
|
+
|
19
|
+
if opts['pattern'] then
|
20
|
+
table.insert(optionalValues, "pattern")
|
21
|
+
table.insert(optionalValues, opts['pattern'])
|
22
|
+
end
|
23
|
+
|
24
|
+
if opts['endDate'] then
|
25
|
+
table.insert(optionalValues, "endDate")
|
26
|
+
table.insert(optionalValues, opts['endDate'])
|
27
|
+
end
|
28
|
+
|
29
|
+
if opts['every'] then
|
30
|
+
table.insert(optionalValues, "every")
|
31
|
+
table.insert(optionalValues, opts['every'])
|
32
|
+
end
|
33
|
+
|
34
|
+
local jsonTemplateOpts = cjson.encode(templateOpts)
|
35
|
+
if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
|
36
|
+
table.insert(optionalValues, "opts")
|
37
|
+
table.insert(optionalValues, jsonTemplateOpts)
|
38
|
+
end
|
39
|
+
|
40
|
+
if templateData and templateData ~= '{}' then
|
41
|
+
table.insert(optionalValues, "data")
|
42
|
+
table.insert(optionalValues, templateData)
|
43
|
+
end
|
44
|
+
|
45
|
+
rcall("HMSET", schedulerKey, "name", opts['name'], unpack(optionalValues))
|
46
|
+
end
|
@@ -180,51 +180,60 @@ local function removeJob(jobId, hard, baseKey, shouldRemoveDeduplicationKey)
|
|
180
180
|
end
|
181
181
|
removeJobKeys(jobKey)
|
182
182
|
end
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
183
|
+
--[[
|
184
|
+
Function to store a job scheduler
|
185
|
+
]]
|
186
|
+
local function storeJobScheduler(schedulerId, schedulerKey, repeatKey, nextMillis, opts,
|
187
|
+
templateData, templateOpts)
|
188
|
+
rcall("ZADD", repeatKey, nextMillis, schedulerId)
|
189
|
+
local optionalValues = {}
|
190
|
+
if opts['tz'] then
|
191
|
+
table.insert(optionalValues, "tz")
|
192
|
+
table.insert(optionalValues, opts['tz'])
|
193
|
+
end
|
194
|
+
if opts['limit'] then
|
195
|
+
table.insert(optionalValues, "limit")
|
196
|
+
table.insert(optionalValues, opts['limit'])
|
197
|
+
end
|
198
|
+
if opts['pattern'] then
|
199
|
+
table.insert(optionalValues, "pattern")
|
200
|
+
table.insert(optionalValues, opts['pattern'])
|
201
|
+
end
|
202
|
+
if opts['endDate'] then
|
203
|
+
table.insert(optionalValues, "endDate")
|
204
|
+
table.insert(optionalValues, opts['endDate'])
|
205
|
+
end
|
206
|
+
if opts['every'] then
|
207
|
+
table.insert(optionalValues, "every")
|
208
|
+
table.insert(optionalValues, opts['every'])
|
209
|
+
end
|
210
|
+
local jsonTemplateOpts = cjson.encode(templateOpts)
|
211
|
+
if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
|
212
|
+
table.insert(optionalValues, "opts")
|
213
|
+
table.insert(optionalValues, jsonTemplateOpts)
|
214
|
+
end
|
215
|
+
if templateData and templateData ~= '{}' then
|
216
|
+
table.insert(optionalValues, "data")
|
217
|
+
table.insert(optionalValues, templateData)
|
218
|
+
end
|
219
|
+
rcall("HMSET", schedulerKey, "name", opts['name'], unpack(optionalValues))
|
213
220
|
end
|
214
221
|
-- If we are overriding a repeatable job we must delete the delayed job for
|
215
222
|
-- the next iteration.
|
223
|
+
local schedulerKey = repeatKey .. ":" .. jobSchedulerId
|
216
224
|
local prevMillis = rcall("ZSCORE", repeatKey, jobSchedulerId)
|
217
225
|
if prevMillis ~= false then
|
218
226
|
local delayedJobId = "repeat:" .. jobSchedulerId .. ":" .. prevMillis
|
219
227
|
local nextDelayedJobId = "repeat:" .. jobSchedulerId .. ":" .. nextMillis
|
220
|
-
local nextDelayedJobKey =
|
228
|
+
local nextDelayedJobKey = schedulerKey .. ":" .. nextMillis
|
221
229
|
if rcall("ZSCORE", delayedKey, delayedJobId) ~= false and
|
222
230
|
(rcall("EXISTS", nextDelayedJobKey) ~= 1 or delayedJobId == nextDelayedJobId) then
|
223
231
|
removeJob(delayedJobId, true, prefixKey, true --[[remove debounce key]] )
|
224
232
|
rcall("ZREM", delayedKey, delayedJobId)
|
225
233
|
end
|
226
234
|
end
|
227
|
-
|
235
|
+
local schedulerOpts = cmsgpack.unpack(ARGV[2])
|
236
|
+
return storeJobScheduler(jobSchedulerId, schedulerKey, repeatKey, nextMillis, schedulerOpts, ARGV[4], templateOpts)
|
228
237
|
`;
|
229
238
|
exports.addJobScheduler = {
|
230
239
|
name: 'addJobScheduler',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addJobScheduler-2.js","sourceRoot":"","sources":["../../../src/scripts/addJobScheduler-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addJobScheduler-2.js","sourceRoot":"","sources":["../../../src/scripts/addJobScheduler-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyOf,CAAC;AACW,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,iBAAiB;IACvB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|