bullmq 5.54.3 → 5.56.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.
Files changed (106) hide show
  1. package/dist/cjs/classes/child-processor.js +9 -0
  2. package/dist/cjs/classes/child-processor.js.map +1 -1
  3. package/dist/cjs/classes/errors/index.js +2 -1
  4. package/dist/cjs/classes/errors/index.js.map +1 -1
  5. package/dist/cjs/classes/errors/waiting-error.js +19 -0
  6. package/dist/cjs/classes/errors/waiting-error.js.map +1 -0
  7. package/dist/cjs/classes/job.js.map +1 -1
  8. package/dist/cjs/classes/sandbox.js +4 -1
  9. package/dist/cjs/classes/sandbox.js.map +1 -1
  10. package/dist/cjs/classes/scripts.js +4 -1
  11. package/dist/cjs/classes/scripts.js.map +1 -1
  12. package/dist/cjs/classes/worker.js +2 -0
  13. package/dist/cjs/classes/worker.js.map +1 -1
  14. package/dist/cjs/commands/addDelayedJob-6.lua +2 -2
  15. package/dist/cjs/commands/{addParentJob-4.lua → addParentJob-5.lua} +7 -6
  16. package/dist/cjs/commands/{addPrioritizedJob-8.lua → addPrioritizedJob-9.lua} +11 -10
  17. package/dist/{esm/commands/addStandardJob-8.lua → cjs/commands/addStandardJob-9.lua} +9 -8
  18. package/dist/cjs/commands/includes/collectMetrics.lua +1 -1
  19. package/dist/cjs/commands/includes/deduplicateJob.lua +66 -20
  20. package/dist/cjs/commands/includes/storeJob.lua +1 -1
  21. package/dist/cjs/commands/moveJobFromActiveToWait-9.lua +1 -1
  22. package/dist/cjs/enums/parent-command.js +5 -4
  23. package/dist/cjs/enums/parent-command.js.map +1 -1
  24. package/dist/cjs/interfaces/index.js +0 -1
  25. package/dist/cjs/interfaces/index.js.map +1 -1
  26. package/dist/cjs/scripts/addDelayedJob-6.js +71 -22
  27. package/dist/cjs/scripts/addDelayedJob-6.js.map +1 -1
  28. package/dist/cjs/scripts/{addParentJob-4.js → addParentJob-5.js} +78 -28
  29. package/dist/cjs/scripts/addParentJob-5.js.map +1 -0
  30. package/dist/cjs/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-9.js} +82 -32
  31. package/dist/cjs/scripts/{addPrioritizedJob-8.js.map → addPrioritizedJob-9.js.map} +1 -1
  32. package/dist/cjs/scripts/{addStandardJob-8.js → addStandardJob-9.js} +80 -30
  33. package/dist/cjs/scripts/{addStandardJob-8.js.map → addStandardJob-9.js.map} +1 -1
  34. package/dist/cjs/scripts/index.js +3 -3
  35. package/dist/cjs/scripts/moveJobFromActiveToWait-9.js +1 -1
  36. package/dist/cjs/scripts/moveToFinished-14.js +1 -1
  37. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  38. package/dist/cjs/{interfaces/debounce-options.js → types/deduplication-options.js} +1 -1
  39. package/dist/cjs/types/deduplication-options.js.map +1 -0
  40. package/dist/cjs/types/index.js +1 -0
  41. package/dist/cjs/types/index.js.map +1 -1
  42. package/dist/cjs/version.js +1 -1
  43. package/dist/esm/classes/child-processor.js +9 -0
  44. package/dist/esm/classes/child-processor.js.map +1 -1
  45. package/dist/esm/classes/errors/index.d.ts +2 -1
  46. package/dist/esm/classes/errors/index.js +2 -1
  47. package/dist/esm/classes/errors/index.js.map +1 -1
  48. package/dist/esm/classes/errors/waiting-error.d.ts +10 -0
  49. package/dist/esm/classes/errors/waiting-error.js +15 -0
  50. package/dist/esm/classes/errors/waiting-error.js.map +1 -0
  51. package/dist/esm/classes/job.d.ts +1 -1
  52. package/dist/esm/classes/job.js.map +1 -1
  53. package/dist/esm/classes/sandbox.js +4 -1
  54. package/dist/esm/classes/sandbox.js.map +1 -1
  55. package/dist/esm/classes/scripts.d.ts +1 -1
  56. package/dist/esm/classes/scripts.js +4 -1
  57. package/dist/esm/classes/scripts.js.map +1 -1
  58. package/dist/esm/classes/worker.js +3 -1
  59. package/dist/esm/classes/worker.js.map +1 -1
  60. package/dist/esm/commands/addDelayedJob-6.lua +2 -2
  61. package/dist/esm/commands/{addParentJob-4.lua → addParentJob-5.lua} +7 -6
  62. package/dist/esm/commands/{addPrioritizedJob-8.lua → addPrioritizedJob-9.lua} +11 -10
  63. package/dist/{cjs/commands/addStandardJob-8.lua → esm/commands/addStandardJob-9.lua} +9 -8
  64. package/dist/esm/commands/includes/collectMetrics.lua +1 -1
  65. package/dist/esm/commands/includes/deduplicateJob.lua +66 -20
  66. package/dist/esm/commands/includes/storeJob.lua +1 -1
  67. package/dist/esm/commands/moveJobFromActiveToWait-9.lua +1 -1
  68. package/dist/esm/enums/parent-command.d.ts +5 -4
  69. package/dist/esm/enums/parent-command.js +5 -4
  70. package/dist/esm/enums/parent-command.js.map +1 -1
  71. package/dist/esm/interfaces/index.d.ts +0 -1
  72. package/dist/esm/interfaces/index.js +0 -1
  73. package/dist/esm/interfaces/index.js.map +1 -1
  74. package/dist/esm/interfaces/sandboxed-job.d.ts +1 -0
  75. package/dist/esm/scripts/addDelayedJob-6.js +71 -22
  76. package/dist/esm/scripts/addDelayedJob-6.js.map +1 -1
  77. package/dist/esm/scripts/{addParentJob-4.js → addParentJob-5.js} +78 -28
  78. package/dist/esm/scripts/addParentJob-5.js.map +1 -0
  79. package/dist/esm/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-9.js} +82 -32
  80. package/dist/esm/scripts/{addPrioritizedJob-8.js.map → addPrioritizedJob-9.js.map} +1 -1
  81. package/dist/esm/scripts/{addStandardJob-8.js → addStandardJob-9.js} +80 -30
  82. package/dist/esm/scripts/{addStandardJob-8.js.map → addStandardJob-9.js.map} +1 -1
  83. package/dist/esm/scripts/index.d.ts +3 -3
  84. package/dist/esm/scripts/index.js +3 -3
  85. package/dist/esm/scripts/moveJobFromActiveToWait-9.js +1 -1
  86. package/dist/esm/scripts/moveToFinished-14.js +1 -1
  87. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  88. package/dist/esm/types/deduplication-options.d.ts +22 -0
  89. package/dist/esm/types/deduplication-options.js +2 -0
  90. package/dist/esm/types/deduplication-options.js.map +1 -0
  91. package/dist/esm/types/index.d.ts +1 -0
  92. package/dist/esm/types/index.js +1 -0
  93. package/dist/esm/types/index.js.map +1 -1
  94. package/dist/esm/types/job-options.d.ts +6 -6
  95. package/dist/esm/version.d.ts +1 -1
  96. package/dist/esm/version.js +1 -1
  97. package/package.json +1 -1
  98. package/dist/cjs/interfaces/debounce-options.js.map +0 -1
  99. package/dist/cjs/scripts/addParentJob-4.js.map +0 -1
  100. package/dist/esm/interfaces/debounce-options.d.ts +0 -13
  101. package/dist/esm/interfaces/debounce-options.js +0 -2
  102. package/dist/esm/interfaces/debounce-options.js.map +0 -1
  103. package/dist/esm/scripts/addParentJob-4.js.map +0 -1
  104. /package/dist/esm/scripts/{addParentJob-4.d.ts → addParentJob-5.d.ts} +0 -0
  105. /package/dist/esm/scripts/{addPrioritizedJob-8.d.ts → addPrioritizedJob-9.d.ts} +0 -0
  106. /package/dist/esm/scripts/{addStandardJob-8.d.ts → addStandardJob-9.d.ts} +0 -0
@@ -8,10 +8,11 @@ const content = `--[[
8
8
  KEYS[2] 'meta'
9
9
  KEYS[3] 'id'
10
10
  KEYS[4] 'prioritized'
11
- KEYS[5] 'completed'
12
- KEYS[6] 'active'
13
- KEYS[7] events stream key
14
- KEYS[8] 'pc' priority counter
11
+ KEYS[5] 'delayed'
12
+ KEYS[6] 'completed'
13
+ KEYS[7] 'active'
14
+ KEYS[8] events stream key
15
+ KEYS[9] 'pc' priority counter
15
16
  ARGV[1] msgpacked arguments array
16
17
  [1] key prefix,
17
18
  [2] custom id (will not generate one automatically)
@@ -32,10 +33,10 @@ const content = `--[[
32
33
  local metaKey = KEYS[2]
33
34
  local idKey = KEYS[3]
34
35
  local priorityKey = KEYS[4]
35
- local completedKey = KEYS[5]
36
- local activeKey = KEYS[6]
37
- local eventsKey = KEYS[7]
38
- local priorityCounterKey = KEYS[8]
36
+ local completedKey = KEYS[6]
37
+ local activeKey = KEYS[7]
38
+ local eventsKey = KEYS[8]
39
+ local priorityCounterKey = KEYS[9]
39
40
  local jobId
40
41
  local jobIdKey
41
42
  local rcall = redis.call
@@ -75,26 +76,75 @@ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, pr
75
76
  end
76
77
  --[[
77
78
  Function to debounce a job.
78
- ]]
79
- local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
80
- local deduplicationId = deduplicationOpts and deduplicationOpts['id']
81
- if deduplicationId then
82
- local ttl = deduplicationOpts['ttl']
83
- local deduplicationKeyExists
84
- if ttl then
85
- deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'PX', ttl, 'NX')
86
- else
87
- deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'NX')
88
- end
89
- if deduplicationKeyExists then
90
- local currentDebounceJobId = rcall('GET', deduplicationKey)
91
- rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced", "jobId", currentDebounceJobId,
92
- "debounceId", deduplicationId)
93
- rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
94
- currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
95
- return currentDebounceJobId
96
- end
97
- end
79
+ ]]
80
+ -- Includes
81
+ --[[
82
+ Function to remove job keys.
83
+ ]]
84
+ local function removeJobKeys(jobKey)
85
+ return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
86
+ jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
87
+ end
88
+ local function deduplicateJob(deduplicationOpts, jobId, delayedKey, deduplicationKey, eventsKey, maxEvents,
89
+ prefix)
90
+ local deduplicationId = deduplicationOpts and deduplicationOpts['id']
91
+ if deduplicationId then
92
+ local ttl = deduplicationOpts['ttl']
93
+ if deduplicationOpts['replace'] and ttl and ttl > 0 then
94
+ local currentDebounceJobId = rcall('GET', deduplicationKey)
95
+ if currentDebounceJobId then
96
+ if rcall("ZREM", delayedKey, currentDebounceJobId) > 0 then
97
+ removeJobKeys(prefix .. currentDebounceJobId)
98
+ rcall("XADD", eventsKey, "*", "event", "removed", "jobId", currentDebounceJobId,
99
+ "prev", "delayed")
100
+ if deduplicationOpts['extend'] then
101
+ rcall('SET', deduplicationKey, jobId, 'PX', ttl)
102
+ else
103
+ rcall('SET', deduplicationKey, jobId, 'KEEPTTL')
104
+ end
105
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
106
+ jobId, "deduplicationId", deduplicationId, "deduplicatedJobId", currentDebounceJobId)
107
+ return
108
+ else
109
+ return currentDebounceJobId
110
+ end
111
+ else
112
+ rcall('SET', deduplicationKey, jobId, 'PX', ttl)
113
+ return
114
+ end
115
+ else
116
+ local ttl = deduplicationOpts['ttl']
117
+ local deduplicationKeyExists
118
+ if ttl then
119
+ if deduplicationOpts['extend'] then
120
+ local currentDebounceJobId = rcall('GET', deduplicationKey)
121
+ if currentDebounceJobId then
122
+ rcall('SET', deduplicationKey, currentDebounceJobId, 'PX', ttl)
123
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced",
124
+ "jobId", currentDebounceJobId, "debounceId", deduplicationId)
125
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
126
+ currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
127
+ return currentDebounceJobId
128
+ else
129
+ rcall('SET', deduplicationKey, jobId, 'PX', ttl)
130
+ return
131
+ end
132
+ else
133
+ deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'PX', ttl, 'NX')
134
+ end
135
+ else
136
+ deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'NX')
137
+ end
138
+ if deduplicationKeyExists then
139
+ local currentDebounceJobId = rcall('GET', deduplicationKey)
140
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced", "jobId",
141
+ currentDebounceJobId, "debounceId", deduplicationId)
142
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
143
+ currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
144
+ return currentDebounceJobId
145
+ end
146
+ end
147
+ end
98
148
  end
99
149
  --[[
100
150
  Function to store a job
@@ -340,8 +390,8 @@ else
340
390
  maxEvents, timestamp)
341
391
  end
342
392
  end
343
- local deduplicationJobId = deduplicateJob(opts['de'], jobId,
344
- deduplicationKey, eventsKey, maxEvents)
393
+ local deduplicationJobId = deduplicateJob(opts['de'], jobId, KEYS[5],
394
+ deduplicationKey, eventsKey, maxEvents, args[1])
345
395
  if deduplicationJobId then
346
396
  return deduplicationJobId
347
397
  end
@@ -364,6 +414,6 @@ return jobId .. "" -- convert to string
364
414
  export const addPrioritizedJob = {
365
415
  name: 'addPrioritizedJob',
366
416
  content,
367
- keys: 8,
417
+ keys: 9,
368
418
  };
369
- //# sourceMappingURL=addPrioritizedJob-8.js.map
419
+ //# sourceMappingURL=addPrioritizedJob-9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addPrioritizedJob-8.js","sourceRoot":"","sources":["../../../src/scripts/addPrioritizedJob-8.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Wf,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"addPrioritizedJob-9.js","sourceRoot":"","sources":["../../../src/scripts/addPrioritizedJob-9.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Zf,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -18,9 +18,10 @@ const content = `--[[
18
18
  KEYS[3] 'meta'
19
19
  KEYS[4] 'id'
20
20
  KEYS[5] 'completed'
21
- KEYS[6] 'active'
22
- KEYS[7] events stream key
23
- KEYS[8] marker key
21
+ KEYS[6] 'delayed'
22
+ KEYS[7] 'active'
23
+ KEYS[8] events stream key
24
+ KEYS[9] marker key
24
25
  ARGV[1] msgpacked arguments array
25
26
  [1] key prefix,
26
27
  [2] custom id (will not generate one automatically)
@@ -38,7 +39,7 @@ const content = `--[[
38
39
  jobId - OK
39
40
  -5 - Missing parent key
40
41
  ]]
41
- local eventsKey = KEYS[7]
42
+ local eventsKey = KEYS[8]
42
43
  local jobId
43
44
  local jobIdKey
44
45
  local rcall = redis.call
@@ -69,26 +70,75 @@ local function addJobInTargetList(targetKey, markerKey, pushCmd, isPausedOrMaxed
69
70
  end
70
71
  --[[
71
72
  Function to debounce a job.
72
- ]]
73
- local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
74
- local deduplicationId = deduplicationOpts and deduplicationOpts['id']
75
- if deduplicationId then
76
- local ttl = deduplicationOpts['ttl']
77
- local deduplicationKeyExists
78
- if ttl then
79
- deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'PX', ttl, 'NX')
80
- else
81
- deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'NX')
82
- end
83
- if deduplicationKeyExists then
84
- local currentDebounceJobId = rcall('GET', deduplicationKey)
85
- rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced", "jobId", currentDebounceJobId,
86
- "debounceId", deduplicationId)
87
- rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
88
- currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
89
- return currentDebounceJobId
90
- end
91
- end
73
+ ]]
74
+ -- Includes
75
+ --[[
76
+ Function to remove job keys.
77
+ ]]
78
+ local function removeJobKeys(jobKey)
79
+ return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
80
+ jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
81
+ end
82
+ local function deduplicateJob(deduplicationOpts, jobId, delayedKey, deduplicationKey, eventsKey, maxEvents,
83
+ prefix)
84
+ local deduplicationId = deduplicationOpts and deduplicationOpts['id']
85
+ if deduplicationId then
86
+ local ttl = deduplicationOpts['ttl']
87
+ if deduplicationOpts['replace'] and ttl and ttl > 0 then
88
+ local currentDebounceJobId = rcall('GET', deduplicationKey)
89
+ if currentDebounceJobId then
90
+ if rcall("ZREM", delayedKey, currentDebounceJobId) > 0 then
91
+ removeJobKeys(prefix .. currentDebounceJobId)
92
+ rcall("XADD", eventsKey, "*", "event", "removed", "jobId", currentDebounceJobId,
93
+ "prev", "delayed")
94
+ if deduplicationOpts['extend'] then
95
+ rcall('SET', deduplicationKey, jobId, 'PX', ttl)
96
+ else
97
+ rcall('SET', deduplicationKey, jobId, 'KEEPTTL')
98
+ end
99
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
100
+ jobId, "deduplicationId", deduplicationId, "deduplicatedJobId", currentDebounceJobId)
101
+ return
102
+ else
103
+ return currentDebounceJobId
104
+ end
105
+ else
106
+ rcall('SET', deduplicationKey, jobId, 'PX', ttl)
107
+ return
108
+ end
109
+ else
110
+ local ttl = deduplicationOpts['ttl']
111
+ local deduplicationKeyExists
112
+ if ttl then
113
+ if deduplicationOpts['extend'] then
114
+ local currentDebounceJobId = rcall('GET', deduplicationKey)
115
+ if currentDebounceJobId then
116
+ rcall('SET', deduplicationKey, currentDebounceJobId, 'PX', ttl)
117
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced",
118
+ "jobId", currentDebounceJobId, "debounceId", deduplicationId)
119
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
120
+ currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
121
+ return currentDebounceJobId
122
+ else
123
+ rcall('SET', deduplicationKey, jobId, 'PX', ttl)
124
+ return
125
+ end
126
+ else
127
+ deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'PX', ttl, 'NX')
128
+ end
129
+ else
130
+ deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'NX')
131
+ end
132
+ if deduplicationKeyExists then
133
+ local currentDebounceJobId = rcall('GET', deduplicationKey)
134
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced", "jobId",
135
+ currentDebounceJobId, "debounceId", deduplicationId)
136
+ rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
137
+ currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
138
+ return currentDebounceJobId
139
+ end
140
+ end
141
+ end
92
142
  end
93
143
  --[[
94
144
  Function to get max events value or set by default 10000.
@@ -344,18 +394,18 @@ else
344
394
  maxEvents, timestamp)
345
395
  end
346
396
  end
347
- local deduplicationJobId = deduplicateJob(opts['de'], jobId,
348
- deduplicationKey, eventsKey, maxEvents)
397
+ local deduplicationJobId = deduplicateJob(opts['de'], jobId, KEYS[6],
398
+ deduplicationKey, eventsKey, maxEvents, args[1])
349
399
  if deduplicationJobId then
350
400
  return deduplicationJobId
351
401
  end
352
402
  -- Store the job.
353
403
  storeJob(eventsKey, jobIdKey, jobId, args[3], ARGV[2], opts, timestamp,
354
404
  parentKey, parentData, repeatJobKey)
355
- local target, isPausedOrMaxed = getTargetQueueList(metaKey, KEYS[6], KEYS[1], KEYS[2])
405
+ local target, isPausedOrMaxed = getTargetQueueList(metaKey, KEYS[7], KEYS[1], KEYS[2])
356
406
  -- LIFO or FIFO
357
407
  local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
358
- addJobInTargetList(target, KEYS[8], pushCmd, isPausedOrMaxed, jobId)
408
+ addJobInTargetList(target, KEYS[9], pushCmd, isPausedOrMaxed, jobId)
359
409
  -- Emit waiting event
360
410
  rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "waiting",
361
411
  "jobId", jobId)
@@ -368,6 +418,6 @@ return jobId .. "" -- convert to string
368
418
  export const addStandardJob = {
369
419
  name: 'addStandardJob',
370
420
  content,
371
- keys: 8,
421
+ keys: 9,
372
422
  };
373
- //# sourceMappingURL=addStandardJob-8.js.map
423
+ //# sourceMappingURL=addStandardJob-9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addStandardJob-8.js","sourceRoot":"","sources":["../../../src/scripts/addStandardJob-8.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Wf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"addStandardJob-9.js","sourceRoot":"","sources":["../../../src/scripts/addStandardJob-9.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgaf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -1,10 +1,10 @@
1
1
  export * from './addDelayedJob-6';
2
2
  export * from './addJobScheduler-11';
3
3
  export * from './addLog-2';
4
- export * from './addParentJob-4';
5
- export * from './addPrioritizedJob-8';
4
+ export * from './addParentJob-5';
5
+ export * from './addPrioritizedJob-9';
6
6
  export * from './addRepeatableJob-2';
7
- export * from './addStandardJob-8';
7
+ export * from './addStandardJob-9';
8
8
  export * from './changeDelay-4';
9
9
  export * from './changePriority-7';
10
10
  export * from './cleanJobsInSet-3';
@@ -1,10 +1,10 @@
1
1
  export * from './addDelayedJob-6';
2
2
  export * from './addJobScheduler-11';
3
3
  export * from './addLog-2';
4
- export * from './addParentJob-4';
5
- export * from './addPrioritizedJob-8';
4
+ export * from './addParentJob-5';
5
+ export * from './addPrioritizedJob-9';
6
6
  export * from './addRepeatableJob-2';
7
- export * from './addStandardJob-8';
7
+ export * from './addStandardJob-9';
8
8
  export * from './changeDelay-4';
9
9
  export * from './changePriority-7';
10
10
  export * from './cleanJobsInSet-3';
@@ -111,7 +111,7 @@ if removed > 0 then
111
111
  local maxEvents = getOrSetMaxEvents(metaKey)
112
112
  -- Emit waiting event
113
113
  rcall("XADD", KEYS[9], "MAXLEN", "~", maxEvents, "*", "event", "waiting",
114
- "jobId", jobId)
114
+ "jobId", jobId, "prev", "active")
115
115
  end
116
116
  local pttl = rcall("PTTL", KEYS[6])
117
117
  if pttl > 0 then
@@ -54,7 +54,7 @@ local rcall = redis.call
54
54
  --[[
55
55
  Functions to collect metrics based on a current and previous count of jobs.
56
56
  Granualarity is fixed at 1 minute.
57
- ]]
57
+ ]]
58
58
  --[[
59
59
  Function to loop in batches.
60
60
  Just a bit of warning, some commands as ZREM