bullmq 4.17.0 → 5.1.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 (200) hide show
  1. package/dist/cjs/classes/flow-producer.js +3 -10
  2. package/dist/cjs/classes/flow-producer.js.map +1 -1
  3. package/dist/cjs/classes/job.js +21 -11
  4. package/dist/cjs/classes/job.js.map +1 -1
  5. package/dist/cjs/classes/queue-base.js +2 -9
  6. package/dist/cjs/classes/queue-base.js.map +1 -1
  7. package/dist/cjs/classes/queue-events.js +3 -1
  8. package/dist/cjs/classes/queue-events.js.map +1 -1
  9. package/dist/cjs/classes/queue-keys.js +1 -0
  10. package/dist/cjs/classes/queue-keys.js.map +1 -1
  11. package/dist/cjs/classes/queue.js +1 -1
  12. package/dist/cjs/classes/redis-connection.js +9 -7
  13. package/dist/cjs/classes/redis-connection.js.map +1 -1
  14. package/dist/cjs/classes/repeat.js +22 -5
  15. package/dist/cjs/classes/repeat.js.map +1 -1
  16. package/dist/cjs/classes/scripts.js +34 -34
  17. package/dist/cjs/classes/scripts.js.map +1 -1
  18. package/dist/cjs/classes/worker.js +27 -32
  19. package/dist/cjs/classes/worker.js.map +1 -1
  20. package/dist/cjs/commands/{addDelayedJob-7.lua → addDelayedJob-6.lua} +18 -22
  21. package/dist/cjs/commands/addParentJob-4.lua +0 -2
  22. package/dist/{esm/commands/addPrioritizedJob-8.lua → cjs/commands/addPrioritizedJob-7.lua} +18 -24
  23. package/dist/cjs/commands/{addStandardJob-6.lua → addStandardJob-7.lua} +6 -2
  24. package/dist/cjs/commands/changePriority-6.lua +57 -0
  25. package/dist/cjs/commands/getCounts-1.lua +1 -0
  26. package/dist/cjs/commands/getRanges-1.lua +1 -0
  27. package/dist/cjs/commands/includes/addDelayMarkerIfNeeded.lua +5 -19
  28. package/dist/cjs/commands/includes/addJobWithPriority.lua +3 -7
  29. package/dist/cjs/commands/includes/checkStalledJobs.lua +1 -1
  30. package/dist/cjs/commands/includes/isQueuePaused.lua +7 -0
  31. package/dist/cjs/commands/includes/moveParentToWaitIfNeeded.lua +39 -30
  32. package/dist/cjs/commands/includes/prepareJobForProcessing.lua +1 -1
  33. package/dist/cjs/commands/includes/promoteDelayedJobs.lua +7 -4
  34. package/dist/{esm/commands/moveToActive-10.lua → cjs/commands/moveToActive-11.lua} +18 -29
  35. package/dist/cjs/commands/moveToDelayed-7.lua +77 -0
  36. package/dist/cjs/commands/{moveToFinished-13.lua → moveToFinished-14.lua} +29 -22
  37. package/dist/cjs/commands/moveToWaitingChildren-4.lua +7 -4
  38. package/dist/cjs/commands/pause-7.lua +41 -0
  39. package/dist/cjs/commands/promote-8.lua +60 -0
  40. package/dist/cjs/commands/{retryJob-9.lua → retryJob-10.lua} +16 -11
  41. package/dist/cjs/scripts/{addDelayedJob-7.js → addDelayedJob-6.js} +77 -88
  42. package/dist/cjs/scripts/{moveToActive-10.js.map → addDelayedJob-6.js.map} +1 -1
  43. package/dist/cjs/scripts/addParentJob-4.js +51 -61
  44. package/dist/cjs/scripts/addParentJob-4.js.map +1 -1
  45. package/dist/cjs/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-7.js} +80 -93
  46. package/dist/cjs/scripts/addPrioritizedJob-7.js.map +1 -0
  47. package/dist/cjs/scripts/{addStandardJob-6.js → addStandardJob-7.js} +58 -63
  48. package/dist/cjs/scripts/addStandardJob-7.js.map +1 -0
  49. package/dist/cjs/scripts/changePriority-6.js +85 -0
  50. package/dist/cjs/scripts/changePriority-6.js.map +1 -0
  51. package/dist/cjs/scripts/getCounts-1.js +1 -0
  52. package/dist/cjs/scripts/getCounts-1.js.map +1 -1
  53. package/dist/cjs/scripts/getRanges-1.js +1 -0
  54. package/dist/cjs/scripts/getRanges-1.js.map +1 -1
  55. package/dist/cjs/scripts/index.js +10 -10
  56. package/dist/cjs/scripts/index.js.map +1 -1
  57. package/dist/cjs/scripts/moveStalledJobsToWait-8.js +1 -0
  58. package/dist/cjs/scripts/moveStalledJobsToWait-8.js.map +1 -1
  59. package/dist/cjs/scripts/{moveToActive-10.js → moveToActive-11.js} +30 -48
  60. package/dist/cjs/scripts/moveToActive-11.js.map +1 -0
  61. package/dist/cjs/scripts/moveToDelayed-7.js +103 -0
  62. package/dist/cjs/scripts/moveToDelayed-7.js.map +1 -0
  63. package/dist/cjs/scripts/{moveToFinished-13.js → moveToFinished-14.js} +89 -88
  64. package/dist/cjs/scripts/{moveToFinished-13.js.map → moveToFinished-14.js.map} +1 -1
  65. package/dist/cjs/scripts/moveToWaitingChildren-4.js +6 -3
  66. package/dist/cjs/scripts/moveToWaitingChildren-4.js.map +1 -1
  67. package/dist/cjs/scripts/pause-7.js +67 -0
  68. package/dist/cjs/scripts/pause-7.js.map +1 -0
  69. package/dist/cjs/scripts/promote-8.js +79 -0
  70. package/dist/cjs/scripts/promote-8.js.map +1 -0
  71. package/dist/cjs/scripts/{retryJob-9.js → retryJob-10.js} +26 -32
  72. package/dist/cjs/scripts/retryJob-10.js.map +1 -0
  73. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  74. package/dist/esm/classes/flow-producer.js +3 -10
  75. package/dist/esm/classes/flow-producer.js.map +1 -1
  76. package/dist/esm/classes/job.d.ts +5 -0
  77. package/dist/esm/classes/job.js +21 -11
  78. package/dist/esm/classes/job.js.map +1 -1
  79. package/dist/esm/classes/queue-base.js +2 -9
  80. package/dist/esm/classes/queue-base.js.map +1 -1
  81. package/dist/esm/classes/queue-events.js +3 -1
  82. package/dist/esm/classes/queue-events.js.map +1 -1
  83. package/dist/esm/classes/queue-keys.js +1 -0
  84. package/dist/esm/classes/queue-keys.js.map +1 -1
  85. package/dist/esm/classes/queue.d.ts +1 -1
  86. package/dist/esm/classes/queue.js +1 -1
  87. package/dist/esm/classes/redis-connection.js +9 -7
  88. package/dist/esm/classes/redis-connection.js.map +1 -1
  89. package/dist/esm/classes/repeat.js +22 -5
  90. package/dist/esm/classes/repeat.js.map +1 -1
  91. package/dist/esm/classes/scripts.d.ts +4 -4
  92. package/dist/esm/classes/scripts.js +34 -34
  93. package/dist/esm/classes/scripts.js.map +1 -1
  94. package/dist/esm/classes/worker.d.ts +1 -1
  95. package/dist/esm/classes/worker.js +27 -32
  96. package/dist/esm/classes/worker.js.map +1 -1
  97. package/dist/esm/commands/{addDelayedJob-7.lua → addDelayedJob-6.lua} +18 -22
  98. package/dist/esm/commands/addParentJob-4.lua +0 -2
  99. package/dist/{cjs/commands/addPrioritizedJob-8.lua → esm/commands/addPrioritizedJob-7.lua} +18 -24
  100. package/dist/esm/commands/{addStandardJob-6.lua → addStandardJob-7.lua} +6 -2
  101. package/dist/esm/commands/changePriority-6.lua +57 -0
  102. package/dist/esm/commands/getCounts-1.lua +1 -0
  103. package/dist/esm/commands/getRanges-1.lua +1 -0
  104. package/dist/esm/commands/includes/addDelayMarkerIfNeeded.lua +5 -19
  105. package/dist/esm/commands/includes/addJobWithPriority.lua +3 -7
  106. package/dist/esm/commands/includes/checkStalledJobs.lua +1 -1
  107. package/dist/esm/commands/includes/isQueuePaused.lua +7 -0
  108. package/dist/esm/commands/includes/moveParentToWaitIfNeeded.lua +39 -30
  109. package/dist/esm/commands/includes/prepareJobForProcessing.lua +1 -1
  110. package/dist/esm/commands/includes/promoteDelayedJobs.lua +7 -4
  111. package/dist/{cjs/commands/moveToActive-10.lua → esm/commands/moveToActive-11.lua} +18 -29
  112. package/dist/esm/commands/moveToDelayed-7.lua +77 -0
  113. package/dist/esm/commands/{moveToFinished-13.lua → moveToFinished-14.lua} +29 -22
  114. package/dist/esm/commands/moveToWaitingChildren-4.lua +7 -4
  115. package/dist/esm/commands/pause-7.lua +41 -0
  116. package/dist/esm/commands/promote-8.lua +60 -0
  117. package/dist/esm/commands/{retryJob-9.lua → retryJob-10.lua} +16 -11
  118. package/dist/esm/interfaces/job-json.d.ts +4 -1
  119. package/dist/esm/interfaces/minimal-job.d.ts +3 -0
  120. package/dist/esm/interfaces/queue-options.d.ts +1 -1
  121. package/dist/esm/interfaces/repeat-options.d.ts +7 -0
  122. package/dist/esm/scripts/{addDelayedJob-7.js → addDelayedJob-6.js} +77 -88
  123. package/dist/esm/scripts/{moveToActive-10.js.map → addDelayedJob-6.js.map} +1 -1
  124. package/dist/esm/scripts/addParentJob-4.js +51 -61
  125. package/dist/esm/scripts/addParentJob-4.js.map +1 -1
  126. package/dist/esm/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-7.js} +80 -93
  127. package/dist/esm/scripts/addPrioritizedJob-7.js.map +1 -0
  128. package/dist/esm/scripts/{addStandardJob-6.js → addStandardJob-7.js} +58 -63
  129. package/dist/esm/scripts/addStandardJob-7.js.map +1 -0
  130. package/dist/esm/scripts/changePriority-6.js +82 -0
  131. package/dist/esm/scripts/changePriority-6.js.map +1 -0
  132. package/dist/esm/scripts/getCounts-1.js +1 -0
  133. package/dist/esm/scripts/getCounts-1.js.map +1 -1
  134. package/dist/esm/scripts/getRanges-1.js +1 -0
  135. package/dist/esm/scripts/getRanges-1.js.map +1 -1
  136. package/dist/esm/scripts/index.d.ts +10 -10
  137. package/dist/esm/scripts/index.js +10 -10
  138. package/dist/esm/scripts/index.js.map +1 -1
  139. package/dist/esm/scripts/moveStalledJobsToWait-8.js +1 -0
  140. package/dist/esm/scripts/moveStalledJobsToWait-8.js.map +1 -1
  141. package/dist/esm/scripts/{moveToActive-10.js → moveToActive-11.js} +30 -48
  142. package/dist/esm/scripts/moveToActive-11.js.map +1 -0
  143. package/dist/esm/scripts/moveToDelayed-7.js +100 -0
  144. package/dist/esm/scripts/moveToDelayed-7.js.map +1 -0
  145. package/dist/esm/scripts/{moveToFinished-13.js → moveToFinished-14.js} +89 -88
  146. package/dist/esm/scripts/{moveToFinished-13.js.map → moveToFinished-14.js.map} +1 -1
  147. package/dist/esm/scripts/moveToWaitingChildren-4.js +6 -3
  148. package/dist/esm/scripts/moveToWaitingChildren-4.js.map +1 -1
  149. package/dist/esm/scripts/pause-7.js +64 -0
  150. package/dist/esm/scripts/pause-7.js.map +1 -0
  151. package/dist/esm/scripts/promote-8.js +76 -0
  152. package/dist/esm/scripts/promote-8.js.map +1 -0
  153. package/dist/esm/scripts/{retryJob-9.js → retryJob-10.js} +26 -32
  154. package/dist/esm/scripts/retryJob-10.js.map +1 -0
  155. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  156. package/package.json +2 -1
  157. package/dist/cjs/commands/changePriority-5.lua +0 -52
  158. package/dist/cjs/commands/includes/addPriorityMarkerIfNeeded.lua +0 -12
  159. package/dist/cjs/commands/moveToDelayed-8.lua +0 -72
  160. package/dist/cjs/commands/pause-5.lua +0 -36
  161. package/dist/cjs/commands/promote-7.lua +0 -57
  162. package/dist/cjs/scripts/addDelayedJob-7.js.map +0 -1
  163. package/dist/cjs/scripts/addPrioritizedJob-8.js.map +0 -1
  164. package/dist/cjs/scripts/addStandardJob-6.js.map +0 -1
  165. package/dist/cjs/scripts/changePriority-5.js +0 -87
  166. package/dist/cjs/scripts/changePriority-5.js.map +0 -1
  167. package/dist/cjs/scripts/moveToDelayed-8.js +0 -168
  168. package/dist/cjs/scripts/moveToDelayed-8.js.map +0 -1
  169. package/dist/cjs/scripts/pause-5.js +0 -48
  170. package/dist/cjs/scripts/pause-5.js.map +0 -1
  171. package/dist/cjs/scripts/promote-7.js +0 -87
  172. package/dist/cjs/scripts/promote-7.js.map +0 -1
  173. package/dist/cjs/scripts/retryJob-9.js.map +0 -1
  174. package/dist/esm/commands/changePriority-5.lua +0 -52
  175. package/dist/esm/commands/includes/addPriorityMarkerIfNeeded.lua +0 -12
  176. package/dist/esm/commands/moveToDelayed-8.lua +0 -72
  177. package/dist/esm/commands/pause-5.lua +0 -36
  178. package/dist/esm/commands/promote-7.lua +0 -57
  179. package/dist/esm/scripts/addDelayedJob-7.js.map +0 -1
  180. package/dist/esm/scripts/addPrioritizedJob-8.js.map +0 -1
  181. package/dist/esm/scripts/addStandardJob-6.js.map +0 -1
  182. package/dist/esm/scripts/changePriority-5.js +0 -84
  183. package/dist/esm/scripts/changePriority-5.js.map +0 -1
  184. package/dist/esm/scripts/moveToDelayed-8.js +0 -165
  185. package/dist/esm/scripts/moveToDelayed-8.js.map +0 -1
  186. package/dist/esm/scripts/pause-5.js +0 -45
  187. package/dist/esm/scripts/pause-5.js.map +0 -1
  188. package/dist/esm/scripts/promote-7.js +0 -84
  189. package/dist/esm/scripts/promote-7.js.map +0 -1
  190. package/dist/esm/scripts/retryJob-9.js.map +0 -1
  191. /package/dist/esm/scripts/{addDelayedJob-7.d.ts → addDelayedJob-6.d.ts} +0 -0
  192. /package/dist/esm/scripts/{addPrioritizedJob-8.d.ts → addPrioritizedJob-7.d.ts} +0 -0
  193. /package/dist/esm/scripts/{addStandardJob-6.d.ts → addStandardJob-7.d.ts} +0 -0
  194. /package/dist/esm/scripts/{changePriority-5.d.ts → changePriority-6.d.ts} +0 -0
  195. /package/dist/esm/scripts/{moveToActive-10.d.ts → moveToActive-11.d.ts} +0 -0
  196. /package/dist/esm/scripts/{moveToDelayed-8.d.ts → moveToDelayed-7.d.ts} +0 -0
  197. /package/dist/esm/scripts/{moveToFinished-13.d.ts → moveToFinished-14.d.ts} +0 -0
  198. /package/dist/esm/scripts/{pause-5.d.ts → pause-7.d.ts} +0 -0
  199. /package/dist/esm/scripts/{promote-7.d.ts → promote-8.d.ts} +0 -0
  200. /package/dist/esm/scripts/{retryJob-9.d.ts → retryJob-10.d.ts} +0 -0
@@ -4,14 +4,13 @@ const content = `--[[
4
4
  - Creates a new job key with the job data.
5
5
  - Adds the job to the "added" list so that workers gets notified.
6
6
  Input:
7
- KEYS[1] 'wait',
8
- KEYS[2] 'paused'
9
- KEYS[3] 'meta'
10
- KEYS[4] 'id'
11
- KEYS[5] 'prioritized'
12
- KEYS[6] 'completed'
13
- KEYS[7] events stream key
14
- KEYS[8] 'pc' priority counter
7
+ KEYS[1] 'marker',
8
+ KEYS[2] 'meta'
9
+ KEYS[3] 'id'
10
+ KEYS[4] 'prioritized'
11
+ KEYS[5] 'completed'
12
+ KEYS[6] events stream key
13
+ KEYS[7] 'pc' priority counter
15
14
  ARGV[1] msgpacked arguments array
16
15
  [1] key prefix,
17
16
  [2] custom id (will not generate one automatically)
@@ -27,15 +26,13 @@ const content = `--[[
27
26
  Output:
28
27
  jobId - OK
29
28
  -5 - Missing parent key
30
- ]]
31
- local waitKey = KEYS[1]
32
- local pausedKey = KEYS[2]
33
- local metaKey = KEYS[3]
34
- local idKey = KEYS[4]
35
- local priorityKey = KEYS[5]
36
- local completedKey = KEYS[6]
37
- local eventsKey = KEYS[7]
38
- local priorityCounterKey = KEYS[8]
29
+ ]]
30
+ local metaKey = KEYS[2]
31
+ local idKey = KEYS[3]
32
+ local priorityKey = KEYS[4]
33
+ local completedKey = KEYS[5]
34
+ local eventsKey = KEYS[6]
35
+ local priorityCounterKey = KEYS[7]
39
36
  local jobId
40
37
  local jobIdKey
41
38
  local rcall = redis.call
@@ -73,37 +70,21 @@ local function storeJob(eventsKey, jobIdKey, jobId, name, data, opts, timestamp,
73
70
  return delay, priority
74
71
  end
75
72
  --[[
76
- Function to add job considering priority.
73
+ Function to check for the meta.paused key to decide if we are paused or not
74
+ (since an empty list and !EXISTS are not really the same).
77
75
  ]]
78
- -- Includes
76
+ local function isQueuePaused(queueMetaKey)
77
+ return rcall("HEXISTS", queueMetaKey, "paused") == 1
78
+ end
79
79
  --[[
80
- Function priority marker to wait if needed
81
- in order to wake up our workers and to respect priority
82
- order as much as possible
80
+ Function to add job considering priority.
83
81
  ]]
84
- local function addPriorityMarkerIfNeeded(waitKey)
85
- local waitLen = rcall("LLEN", waitKey)
86
- if waitLen == 0 then
87
- rcall("LPUSH", waitKey, "0:0")
88
- end
89
- end
90
- local function addJobWithPriority(waitKey, prioritizedKey, priority, paused, jobId, priorityCounterKey)
82
+ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, priorityCounterKey, isPaused)
91
83
  local prioCounter = rcall("INCR", priorityCounterKey)
92
84
  local score = priority * 0x100000000 + bit.band(prioCounter, 0xffffffffffff)
93
85
  rcall("ZADD", prioritizedKey, score, jobId)
94
- if not paused then
95
- addPriorityMarkerIfNeeded(waitKey)
96
- end
97
- end
98
- --[[
99
- Function to check for the meta.paused key to decide if we are paused or not
100
- (since an empty list and !EXISTS are not really the same).
101
- ]]
102
- local function getTargetQueueList(queueMetaKey, waitKey, pausedKey)
103
- if rcall("HEXISTS", queueMetaKey, "paused") ~= 1 then
104
- return waitKey, false
105
- else
106
- return pausedKey, true
86
+ if not isPaused then
87
+ rcall("ZADD", markerKey, 0, "0")
107
88
  end
108
89
  end
109
90
  --[[
@@ -116,7 +97,7 @@ end
116
97
  -- Includes
117
98
  --[[
118
99
  Add delay marker if needed.
119
- ]]
100
+ ]]
120
101
  -- Includes
121
102
  --[[
122
103
  Function to return the next delayed job timestamp.
@@ -131,55 +112,63 @@ local function getNextDelayedTimestamp(delayedKey)
131
112
  return nextTimestamp
132
113
  end
133
114
  end
134
- local function addDelayMarkerIfNeeded(targetKey, delayedKey)
135
- local waitLen = rcall("LLEN", targetKey)
136
- if waitLen <= 1 then
115
+ local function addDelayMarkerIfNeeded(markerKey, delayedKey)
137
116
  local nextTimestamp = getNextDelayedTimestamp(delayedKey)
138
117
  if nextTimestamp ~= nil then
139
- -- Check if there is already a marker with older timestamp
140
- -- if there is, we need to replace it.
141
- if waitLen == 1 then
142
- local marker = rcall("LINDEX", targetKey, 0)
143
- local oldTimestamp = tonumber(marker:sub(3))
144
- if oldTimestamp and oldTimestamp > nextTimestamp then
145
- rcall("LSET", targetKey, 0, "0:" .. nextTimestamp)
146
- end
147
- else
148
- -- if there is no marker, then we need to add one
149
- rcall("LPUSH", targetKey, "0:" .. nextTimestamp)
150
- end
118
+ -- Replace the score of the marker with the newest known
119
+ -- next timestamp.
120
+ rcall("ZADD", markerKey, nextTimestamp, "0")
151
121
  end
122
+ end
123
+ --[[
124
+ Function to check for the meta.paused key to decide if we are paused or not
125
+ (since an empty list and !EXISTS are not really the same).
126
+ ]]
127
+ local function getTargetQueueList(queueMetaKey, waitKey, pausedKey)
128
+ if rcall("HEXISTS", queueMetaKey, "paused") ~= 1 then
129
+ return waitKey, false
130
+ else
131
+ return pausedKey, true
152
132
  end
153
133
  end
154
- local function moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
155
- local isParentActive = rcall("ZSCORE", parentQueueKey .. ":waiting-children", parentId)
156
- if rcall("SCARD", parentDependenciesKey) == 0 and isParentActive then
157
- rcall("ZREM", parentQueueKey .. ":waiting-children", parentId)
158
- local parentWaitKey = parentQueueKey .. ":wait"
159
- local parentTarget, paused = getTargetQueueList(parentQueueKey .. ":meta", parentWaitKey,
160
- parentQueueKey .. ":paused")
161
- local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
162
- local priority = tonumber(jobAttributes[1]) or 0
163
- local delay = tonumber(jobAttributes[2]) or 0
164
- if delay > 0 then
165
- local delayedTimestamp = tonumber(timestamp) + delay
166
- local score = delayedTimestamp * 0x1000
167
- local parentDelayedKey = parentQueueKey .. ":delayed"
168
- rcall("ZADD", parentDelayedKey, score, parentId)
169
- rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed", "jobId", parentId,
170
- "delay", delayedTimestamp)
171
- addDelayMarkerIfNeeded(parentTarget, parentDelayedKey)
172
- else
173
- if priority == 0 then
174
- rcall("RPUSH", parentTarget, parentId)
175
- else
176
- addJobWithPriority(parentWaitKey, parentQueueKey .. ":prioritized", priority, paused,
177
- parentId, parentQueueKey .. ":pc")
178
- end
179
- rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting", "jobId", parentId,
180
- "prev", "waiting-children")
134
+ local function moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey,
135
+ parentKey, parentId, timestamp)
136
+ local isParentActive = rcall("ZSCORE",
137
+ parentQueueKey .. ":waiting-children", parentId)
138
+ if rcall("SCARD", parentDependenciesKey) == 0 and isParentActive then
139
+ rcall("ZREM", parentQueueKey .. ":waiting-children", parentId)
140
+ local parentWaitKey = parentQueueKey .. ":wait"
141
+ local parentPausedKey = parentQueueKey .. ":paused"
142
+ local parentMetaKey = parentQueueKey .. ":meta"
143
+ local parentMarkerKey = parentQueueKey .. ":marker"
144
+ local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
145
+ local priority = tonumber(jobAttributes[1]) or 0
146
+ local delay = tonumber(jobAttributes[2]) or 0
147
+ if delay > 0 then
148
+ local delayedTimestamp = tonumber(timestamp) + delay
149
+ local score = delayedTimestamp * 0x1000
150
+ local parentDelayedKey = parentQueueKey .. ":delayed"
151
+ rcall("ZADD", parentDelayedKey, score, parentId)
152
+ rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed",
153
+ "jobId", parentId, "delay", delayedTimestamp)
154
+ addDelayMarkerIfNeeded(parentMarkerKey, parentDelayedKey)
155
+ else
156
+ if priority == 0 then
157
+ local parentTarget, _paused =
158
+ getTargetQueueList(parentMetaKey, parentWaitKey,
159
+ parentPausedKey)
160
+ rcall("RPUSH", parentTarget, parentId)
161
+ rcall("ZADD", parentMarkerKey, 0, "0")
162
+ else
163
+ local isPaused = isQueuePaused(parentMetaKey)
164
+ addJobWithPriority(parentMarkerKey,
165
+ parentQueueKey .. ":prioritized", priority,
166
+ parentId, parentQueueKey .. ":pc", isPaused)
167
+ end
168
+ rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting",
169
+ "jobId", parentId, "prev", "waiting-children")
170
+ end
181
171
  end
182
- end
183
172
  end
184
173
  local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDependenciesKey,
185
174
  parentId, jobIdKey, returnvalue, timestamp )
@@ -245,15 +234,13 @@ end
245
234
  local delay, priority = storeJob(eventsKey, jobIdKey, jobId, args[3], ARGV[2],
246
235
  opts, timestamp, parentKey, parentData,
247
236
  repeatJobKey)
248
- local target, paused = getTargetQueueList(metaKey, waitKey, pausedKey)
249
- addJobWithPriority(waitKey, priorityKey, priority, paused, jobId,
250
- priorityCounterKey)
237
+ -- Add the job to the prioritized set
238
+ local isPause = isQueuePaused(metaKey)
239
+ addJobWithPriority( KEYS[1], priorityKey, priority, jobId, priorityCounterKey, isPause)
251
240
  -- Emit waiting event
252
241
  rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "waiting",
253
242
  "jobId", jobId)
254
243
  -- Check if this job is a child of another job, if so add it to the parents dependencies
255
- -- TODO: Should not be possible to add a child job to a parent that is not in the "waiting-children" status.
256
- -- fail in this case.
257
244
  if parentDependenciesKey ~= nil then
258
245
  rcall("SADD", parentDependenciesKey, jobIdKey)
259
246
  end
@@ -262,6 +249,6 @@ return jobId .. "" -- convert to string
262
249
  export const addPrioritizedJob = {
263
250
  name: 'addPrioritizedJob',
264
251
  content,
265
- keys: 8,
252
+ keys: 7,
266
253
  };
267
- //# sourceMappingURL=addPrioritizedJob-8.js.map
254
+ //# sourceMappingURL=addPrioritizedJob-7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addPrioritizedJob-7.js","sourceRoot":"","sources":["../../../src/scripts/addPrioritizedJob-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuPf,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -19,6 +19,7 @@ const content = `--[[
19
19
  KEYS[4] 'id'
20
20
  KEYS[5] 'completed'
21
21
  KEYS[6] events stream key
22
+ KEYS[7] marker key
22
23
  ARGV[1] msgpacked arguments array
23
24
  [1] key prefix,
24
25
  [2] custom id (will not generate one automatically)
@@ -82,7 +83,7 @@ end
82
83
  -- Includes
83
84
  --[[
84
85
  Add delay marker if needed.
85
- ]]
86
+ ]]
86
87
  -- Includes
87
88
  --[[
88
89
  Function to return the next delayed job timestamp.
@@ -97,47 +98,30 @@ local function getNextDelayedTimestamp(delayedKey)
97
98
  return nextTimestamp
98
99
  end
99
100
  end
100
- local function addDelayMarkerIfNeeded(targetKey, delayedKey)
101
- local waitLen = rcall("LLEN", targetKey)
102
- if waitLen <= 1 then
101
+ local function addDelayMarkerIfNeeded(markerKey, delayedKey)
103
102
  local nextTimestamp = getNextDelayedTimestamp(delayedKey)
104
103
  if nextTimestamp ~= nil then
105
- -- Check if there is already a marker with older timestamp
106
- -- if there is, we need to replace it.
107
- if waitLen == 1 then
108
- local marker = rcall("LINDEX", targetKey, 0)
109
- local oldTimestamp = tonumber(marker:sub(3))
110
- if oldTimestamp and oldTimestamp > nextTimestamp then
111
- rcall("LSET", targetKey, 0, "0:" .. nextTimestamp)
112
- end
113
- else
114
- -- if there is no marker, then we need to add one
115
- rcall("LPUSH", targetKey, "0:" .. nextTimestamp)
116
- end
104
+ -- Replace the score of the marker with the newest known
105
+ -- next timestamp.
106
+ rcall("ZADD", markerKey, nextTimestamp, "0")
117
107
  end
118
- end
119
108
  end
120
109
  --[[
121
- Function to add job considering priority.
110
+ Function to check for the meta.paused key to decide if we are paused or not
111
+ (since an empty list and !EXISTS are not really the same).
122
112
  ]]
123
- -- Includes
113
+ local function isQueuePaused(queueMetaKey)
114
+ return rcall("HEXISTS", queueMetaKey, "paused") == 1
115
+ end
124
116
  --[[
125
- Function priority marker to wait if needed
126
- in order to wake up our workers and to respect priority
127
- order as much as possible
117
+ Function to add job considering priority.
128
118
  ]]
129
- local function addPriorityMarkerIfNeeded(waitKey)
130
- local waitLen = rcall("LLEN", waitKey)
131
- if waitLen == 0 then
132
- rcall("LPUSH", waitKey, "0:0")
133
- end
134
- end
135
- local function addJobWithPriority(waitKey, prioritizedKey, priority, paused, jobId, priorityCounterKey)
119
+ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, priorityCounterKey, isPaused)
136
120
  local prioCounter = rcall("INCR", priorityCounterKey)
137
121
  local score = priority * 0x100000000 + bit.band(prioCounter, 0xffffffffffff)
138
122
  rcall("ZADD", prioritizedKey, score, jobId)
139
- if not paused then
140
- addPriorityMarkerIfNeeded(waitKey)
123
+ if not isPaused then
124
+ rcall("ZADD", markerKey, 0, "0")
141
125
  end
142
126
  end
143
127
  --[[
@@ -151,35 +135,44 @@ local function getTargetQueueList(queueMetaKey, waitKey, pausedKey)
151
135
  return pausedKey, true
152
136
  end
153
137
  end
154
- local function moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
155
- local isParentActive = rcall("ZSCORE", parentQueueKey .. ":waiting-children", parentId)
156
- if rcall("SCARD", parentDependenciesKey) == 0 and isParentActive then
157
- rcall("ZREM", parentQueueKey .. ":waiting-children", parentId)
158
- local parentWaitKey = parentQueueKey .. ":wait"
159
- local parentTarget, paused = getTargetQueueList(parentQueueKey .. ":meta", parentWaitKey,
160
- parentQueueKey .. ":paused")
161
- local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
162
- local priority = tonumber(jobAttributes[1]) or 0
163
- local delay = tonumber(jobAttributes[2]) or 0
164
- if delay > 0 then
165
- local delayedTimestamp = tonumber(timestamp) + delay
166
- local score = delayedTimestamp * 0x1000
167
- local parentDelayedKey = parentQueueKey .. ":delayed"
168
- rcall("ZADD", parentDelayedKey, score, parentId)
169
- rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed", "jobId", parentId,
170
- "delay", delayedTimestamp)
171
- addDelayMarkerIfNeeded(parentTarget, parentDelayedKey)
172
- else
173
- if priority == 0 then
174
- rcall("RPUSH", parentTarget, parentId)
175
- else
176
- addJobWithPriority(parentWaitKey, parentQueueKey .. ":prioritized", priority, paused,
177
- parentId, parentQueueKey .. ":pc")
178
- end
179
- rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting", "jobId", parentId,
180
- "prev", "waiting-children")
138
+ local function moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey,
139
+ parentKey, parentId, timestamp)
140
+ local isParentActive = rcall("ZSCORE",
141
+ parentQueueKey .. ":waiting-children", parentId)
142
+ if rcall("SCARD", parentDependenciesKey) == 0 and isParentActive then
143
+ rcall("ZREM", parentQueueKey .. ":waiting-children", parentId)
144
+ local parentWaitKey = parentQueueKey .. ":wait"
145
+ local parentPausedKey = parentQueueKey .. ":paused"
146
+ local parentMetaKey = parentQueueKey .. ":meta"
147
+ local parentMarkerKey = parentQueueKey .. ":marker"
148
+ local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
149
+ local priority = tonumber(jobAttributes[1]) or 0
150
+ local delay = tonumber(jobAttributes[2]) or 0
151
+ if delay > 0 then
152
+ local delayedTimestamp = tonumber(timestamp) + delay
153
+ local score = delayedTimestamp * 0x1000
154
+ local parentDelayedKey = parentQueueKey .. ":delayed"
155
+ rcall("ZADD", parentDelayedKey, score, parentId)
156
+ rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed",
157
+ "jobId", parentId, "delay", delayedTimestamp)
158
+ addDelayMarkerIfNeeded(parentMarkerKey, parentDelayedKey)
159
+ else
160
+ if priority == 0 then
161
+ local parentTarget, _paused =
162
+ getTargetQueueList(parentMetaKey, parentWaitKey,
163
+ parentPausedKey)
164
+ rcall("RPUSH", parentTarget, parentId)
165
+ rcall("ZADD", parentMarkerKey, 0, "0")
166
+ else
167
+ local isPaused = isQueuePaused(parentMetaKey)
168
+ addJobWithPriority(parentMarkerKey,
169
+ parentQueueKey .. ":prioritized", priority,
170
+ parentId, parentQueueKey .. ":pc", isPaused)
171
+ end
172
+ rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting",
173
+ "jobId", parentId, "prev", "waiting-children")
174
+ end
181
175
  end
182
- end
183
176
  end
184
177
  local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDependenciesKey,
185
178
  parentId, jobIdKey, returnvalue, timestamp )
@@ -246,6 +239,10 @@ end
246
239
  storeJob(eventsKey, jobIdKey, jobId, args[3], ARGV[2], opts, timestamp,
247
240
  parentKey, parentData, repeatJobKey)
248
241
  local target, paused = getTargetQueueList(metaKey, KEYS[1], KEYS[2])
242
+ if not paused then
243
+ -- mark that a job is available
244
+ rcall("ZADD", KEYS[7], 0, "0")
245
+ end
249
246
  -- LIFO or FIFO
250
247
  local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
251
248
  rcall(pushCmd, target, jobId)
@@ -253,8 +250,6 @@ rcall(pushCmd, target, jobId)
253
250
  rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "waiting",
254
251
  "jobId", jobId)
255
252
  -- Check if this job is a child of another job, if so add it to the parents dependencies
256
- -- TODO: Should not be possible to add a child job to a parent that is not in the "waiting-children" status.
257
- -- fail in this case.
258
253
  if parentDependenciesKey ~= nil then
259
254
  rcall("SADD", parentDependenciesKey, jobIdKey)
260
255
  end
@@ -263,6 +258,6 @@ return jobId .. "" -- convert to string
263
258
  export const addStandardJob = {
264
259
  name: 'addStandardJob',
265
260
  content,
266
- keys: 6,
261
+ keys: 7,
267
262
  };
268
- //# sourceMappingURL=addStandardJob-6.js.map
263
+ //# sourceMappingURL=addStandardJob-7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addStandardJob-7.js","sourceRoot":"","sources":["../../../src/scripts/addStandardJob-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgQf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -0,0 +1,82 @@
1
+ const content = `--[[
2
+ Change job priority
3
+ Input:
4
+ KEYS[1] 'wait',
5
+ KEYS[2] 'paused'
6
+ KEYS[3] 'meta'
7
+ KEYS[4] 'prioritized'
8
+ KEYS[5] 'pc' priority counter
9
+ KEYS[6] 'marker'
10
+ ARGV[1] priority value
11
+ ARGV[2] job key
12
+ ARGV[3] job id
13
+ ARGV[4] lifo
14
+ Output:
15
+ 0 - OK
16
+ -1 - Missing job
17
+ ]]
18
+ local jobKey = ARGV[2]
19
+ local jobId = ARGV[3]
20
+ local priority = tonumber(ARGV[1])
21
+ local rcall = redis.call
22
+ -- Includes
23
+ --[[
24
+ Function to check for the meta.paused key to decide if we are paused or not
25
+ (since an empty list and !EXISTS are not really the same).
26
+ ]]
27
+ local function isQueuePaused(queueMetaKey)
28
+ return rcall("HEXISTS", queueMetaKey, "paused") == 1
29
+ end
30
+ --[[
31
+ Function to add job considering priority.
32
+ ]]
33
+ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, priorityCounterKey, isPaused)
34
+ local prioCounter = rcall("INCR", priorityCounterKey)
35
+ local score = priority * 0x100000000 + bit.band(prioCounter, 0xffffffffffff)
36
+ rcall("ZADD", prioritizedKey, score, jobId)
37
+ if not isPaused then
38
+ rcall("ZADD", markerKey, 0, "0")
39
+ end
40
+ end
41
+ --[[
42
+ Function to check for the meta.paused key to decide if we are paused or not
43
+ (since an empty list and !EXISTS are not really the same).
44
+ ]]
45
+ local function getTargetQueueList(queueMetaKey, waitKey, pausedKey)
46
+ if rcall("HEXISTS", queueMetaKey, "paused") ~= 1 then
47
+ return waitKey, false
48
+ else
49
+ return pausedKey, true
50
+ end
51
+ end
52
+ if rcall("EXISTS", jobKey) == 1 then
53
+ local metaKey = KEYS[3]
54
+ local isPaused = isQueuePaused(metaKey)
55
+ local markerKey = KEYS[6]
56
+ local prioritizedKey = KEYS[4]
57
+ -- Re-add with the new priority
58
+ if rcall("ZREM", KEYS[4], jobId) > 0 then
59
+ addJobWithPriority(markerKey, prioritizedKey, priority, jobId, KEYS[5],
60
+ isPaused)
61
+ -- If the new priority is 0, then just leave the job where it is in the wait list.
62
+ elseif priority > 0 then
63
+ -- Job is already in the wait list, we need to re-add it with the new priority.
64
+ local target = isPaused and KEYS[2] or KEYS[1]
65
+ local numRemovedElements = rcall("LREM", target, -1, jobId)
66
+ if numRemovedElements > 0 then
67
+ addJobWithPriority(markerKey, prioritizedKey, priority, jobId,
68
+ KEYS[5], isPaused)
69
+ end
70
+ end
71
+ rcall("HSET", jobKey, "priority", priority)
72
+ return 0
73
+ else
74
+ return -1
75
+ end
76
+ `;
77
+ export const changePriority = {
78
+ name: 'changePriority',
79
+ content,
80
+ keys: 6,
81
+ };
82
+ //# sourceMappingURL=changePriority-6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changePriority-6.js","sourceRoot":"","sources":["../../../src/scripts/changePriority-6.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Ef,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -10,6 +10,7 @@ local results = {}
10
10
  for i = 1, #ARGV do
11
11
  local stateKey = prefix .. ARGV[i]
12
12
  if ARGV[i] == "wait" or ARGV[i] == "paused" then
13
+ -- Markers in waitlist DEPRECATED in v5: Remove in v6.
13
14
  local marker = rcall("LINDEX", stateKey, -1)
14
15
  if marker and string.sub(marker, 1, 2) == "0:" then
15
16
  local count = rcall("LLEN", stateKey)
@@ -1 +1 @@
1
- {"version":3,"file":"getCounts-1.js","sourceRoot":"","sources":["../../../src/scripts/getCounts-1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bf,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,WAAW;IACjB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"getCounts-1.js","sourceRoot":"","sources":["../../../src/scripts/getCounts-1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCf,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,WAAW;IACjB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -37,6 +37,7 @@ end
37
37
  for i = 4, #ARGV do
38
38
  local stateKey = prefix .. ARGV[i]
39
39
  if ARGV[i] == "wait" or ARGV[i] == "paused" then
40
+ -- Markers in waitlist DEPRECATED in v5: Remove in v6.
40
41
  local marker = rcall("LINDEX", stateKey, -1)
41
42
  if marker and string.sub(marker, 1, 2) == "0:" then
42
43
  local count = rcall("LLEN", stateKey)
@@ -1 +1 @@
1
- {"version":3,"file":"getRanges-1.js","sourceRoot":"","sources":["../../../src/scripts/getRanges-1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Df,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,WAAW;IACjB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"getRanges-1.js","sourceRoot":"","sources":["../../../src/scripts/getRanges-1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Df,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,WAAW;IACjB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -1,9 +1,9 @@
1
- export * from './addDelayedJob-7';
1
+ export * from './addDelayedJob-6';
2
2
  export * from './addParentJob-4';
3
- export * from './addPrioritizedJob-8';
4
- export * from './addStandardJob-6';
3
+ export * from './addPrioritizedJob-7';
4
+ export * from './addStandardJob-7';
5
5
  export * from './changeDelay-3';
6
- export * from './changePriority-5';
6
+ export * from './changePriority-6';
7
7
  export * from './cleanJobsInSet-2';
8
8
  export * from './drain-4';
9
9
  export * from './extendLock-2';
@@ -16,19 +16,19 @@ export * from './isJobInList-1';
16
16
  export * from './moveJobFromActiveToWait-9';
17
17
  export * from './moveJobsToWait-6';
18
18
  export * from './moveStalledJobsToWait-8';
19
- export * from './moveToActive-10';
20
- export * from './moveToDelayed-8';
21
- export * from './moveToFinished-13';
19
+ export * from './moveToActive-11';
20
+ export * from './moveToDelayed-7';
21
+ export * from './moveToFinished-14';
22
22
  export * from './moveToWaitingChildren-4';
23
23
  export * from './obliterate-2';
24
24
  export * from './paginate-1';
25
- export * from './pause-5';
26
- export * from './promote-7';
25
+ export * from './pause-7';
26
+ export * from './promote-8';
27
27
  export * from './releaseLock-1';
28
28
  export * from './removeJob-1';
29
29
  export * from './removeRepeatable-2';
30
30
  export * from './reprocessJob-6';
31
- export * from './retryJob-9';
31
+ export * from './retryJob-10';
32
32
  export * from './saveStacktrace-1';
33
33
  export * from './updateData-1';
34
34
  export * from './updateProgress-3';
@@ -1,9 +1,9 @@
1
- export * from './addDelayedJob-7';
1
+ export * from './addDelayedJob-6';
2
2
  export * from './addParentJob-4';
3
- export * from './addPrioritizedJob-8';
4
- export * from './addStandardJob-6';
3
+ export * from './addPrioritizedJob-7';
4
+ export * from './addStandardJob-7';
5
5
  export * from './changeDelay-3';
6
- export * from './changePriority-5';
6
+ export * from './changePriority-6';
7
7
  export * from './cleanJobsInSet-2';
8
8
  export * from './drain-4';
9
9
  export * from './extendLock-2';
@@ -16,19 +16,19 @@ export * from './isJobInList-1';
16
16
  export * from './moveJobFromActiveToWait-9';
17
17
  export * from './moveJobsToWait-6';
18
18
  export * from './moveStalledJobsToWait-8';
19
- export * from './moveToActive-10';
20
- export * from './moveToDelayed-8';
21
- export * from './moveToFinished-13';
19
+ export * from './moveToActive-11';
20
+ export * from './moveToDelayed-7';
21
+ export * from './moveToFinished-14';
22
22
  export * from './moveToWaitingChildren-4';
23
23
  export * from './obliterate-2';
24
24
  export * from './paginate-1';
25
- export * from './pause-5';
26
- export * from './promote-7';
25
+ export * from './pause-7';
26
+ export * from './promote-8';
27
27
  export * from './releaseLock-1';
28
28
  export * from './removeJob-1';
29
29
  export * from './removeRepeatable-2';
30
30
  export * from './reprocessJob-6';
31
- export * from './retryJob-9';
31
+ export * from './retryJob-10';
32
32
  export * from './saveStacktrace-1';
33
33
  export * from './updateData-1';
34
34
  export * from './updateProgress-3';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -203,6 +203,7 @@ local function checkStalledJobs(stalledKey, waitKey, activeKey, failedKey,
203
203
  local MAX_STALLED_JOB_COUNT = tonumber(maxStalledJobCount)
204
204
  -- Remove from active list
205
205
  for i, jobId in ipairs(stalling) do
206
+ -- Markers in waitlist DEPRECATED in v5: Remove in v6.
206
207
  if string.sub(jobId, 1, 2) == "0:" then
207
208
  -- If the jobId is a delay marker ID we just remove it.
208
209
  rcall("LREM", activeKey, 1, jobId)
@@ -1 +1 @@
1
- {"version":3,"file":"moveStalledJobsToWait-8.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-8.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuRf,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,uBAAuB;IAC7B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"moveStalledJobsToWait-8.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-8.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwRf,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,uBAAuB;IAC7B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}