bullmq 1.74.3 → 1.76.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 (87) hide show
  1. package/dist/bullmq.d.ts +424 -16
  2. package/dist/cjs/classes/index.d.ts +10 -4
  3. package/dist/cjs/classes/index.js +10 -4
  4. package/dist/cjs/classes/index.js.map +1 -1
  5. package/dist/cjs/classes/queue-getters.d.ts +16 -0
  6. package/dist/cjs/classes/queue-getters.js +39 -0
  7. package/dist/cjs/classes/queue-getters.js.map +1 -1
  8. package/dist/cjs/classes/queue.d.ts +5 -9
  9. package/dist/cjs/classes/queue.js +3 -3
  10. package/dist/cjs/classes/queue.js.map +1 -1
  11. package/dist/cjs/classes/redis-connection.js +1 -1
  12. package/dist/cjs/classes/redis-connection.js.map +1 -1
  13. package/dist/cjs/classes/scripts.d.ts +3 -3
  14. package/dist/cjs/classes/scripts.js +8 -5
  15. package/dist/cjs/classes/scripts.js.map +1 -1
  16. package/dist/cjs/commands/includes/collectMetrics.lua +42 -0
  17. package/dist/cjs/commands/moveToActive-8.lua +14 -4
  18. package/dist/cjs/commands/{moveToFinished-8.lua → moveToFinished-9.lua} +17 -8
  19. package/dist/cjs/commands/obliterate-2.lua +13 -4
  20. package/dist/cjs/commands/retryJobs-4.lua +2 -2
  21. package/dist/cjs/enums/index.d.ts +1 -0
  22. package/dist/cjs/enums/index.js +1 -0
  23. package/dist/cjs/enums/index.js.map +1 -1
  24. package/dist/cjs/enums/metrics-time.d.ts +10 -0
  25. package/dist/cjs/enums/metrics-time.js +15 -0
  26. package/dist/cjs/enums/metrics-time.js.map +1 -0
  27. package/dist/cjs/interfaces/index.d.ts +2 -0
  28. package/dist/cjs/interfaces/index.js +2 -0
  29. package/dist/cjs/interfaces/index.js.map +1 -1
  30. package/dist/cjs/interfaces/metrics-options.d.ts +12 -0
  31. package/dist/cjs/{types/finished-target.js → interfaces/metrics-options.js} +1 -1
  32. package/dist/cjs/interfaces/metrics-options.js.map +1 -0
  33. package/dist/cjs/interfaces/metrics.d.ts +9 -0
  34. package/dist/cjs/interfaces/metrics.js +3 -0
  35. package/dist/cjs/interfaces/metrics.js.map +1 -0
  36. package/dist/cjs/interfaces/worker-options.d.ts +7 -0
  37. package/dist/{esm/types/finished-target.d.ts → cjs/types/finished-status.d.ts} +1 -1
  38. package/dist/cjs/types/finished-status.js +3 -0
  39. package/dist/cjs/types/finished-status.js.map +1 -0
  40. package/dist/cjs/types/index.d.ts +1 -1
  41. package/dist/cjs/types/index.js +1 -1
  42. package/dist/cjs/types/job-type.d.ts +2 -2
  43. package/dist/esm/classes/index.d.ts +10 -4
  44. package/dist/esm/classes/index.js +10 -4
  45. package/dist/esm/classes/index.js.map +1 -1
  46. package/dist/esm/classes/queue-getters.d.ts +16 -0
  47. package/dist/esm/classes/queue-getters.js +39 -0
  48. package/dist/esm/classes/queue-getters.js.map +1 -1
  49. package/dist/esm/classes/queue.d.ts +5 -9
  50. package/dist/esm/classes/queue.js +3 -3
  51. package/dist/esm/classes/queue.js.map +1 -1
  52. package/dist/esm/classes/redis-connection.js +1 -1
  53. package/dist/esm/classes/redis-connection.js.map +1 -1
  54. package/dist/esm/classes/scripts.d.ts +3 -3
  55. package/dist/esm/classes/scripts.js +8 -5
  56. package/dist/esm/classes/scripts.js.map +1 -1
  57. package/dist/esm/commands/includes/collectMetrics.lua +42 -0
  58. package/dist/esm/commands/moveToActive-8.lua +14 -4
  59. package/dist/esm/commands/{moveToFinished-8.lua → moveToFinished-9.lua} +17 -8
  60. package/dist/esm/commands/obliterate-2.lua +13 -4
  61. package/dist/esm/commands/retryJobs-4.lua +2 -2
  62. package/dist/esm/enums/index.d.ts +1 -0
  63. package/dist/esm/enums/index.js +1 -0
  64. package/dist/esm/enums/index.js.map +1 -1
  65. package/dist/esm/enums/metrics-time.d.ts +10 -0
  66. package/dist/esm/enums/metrics-time.js +12 -0
  67. package/dist/esm/enums/metrics-time.js.map +1 -0
  68. package/dist/esm/interfaces/index.d.ts +2 -0
  69. package/dist/esm/interfaces/index.js +2 -0
  70. package/dist/esm/interfaces/index.js.map +1 -1
  71. package/dist/esm/interfaces/metrics-options.d.ts +12 -0
  72. package/dist/esm/interfaces/metrics-options.js +1 -0
  73. package/dist/esm/interfaces/metrics-options.js.map +1 -0
  74. package/dist/esm/interfaces/metrics.d.ts +9 -0
  75. package/dist/esm/interfaces/metrics.js +1 -0
  76. package/dist/esm/interfaces/metrics.js.map +1 -0
  77. package/dist/esm/interfaces/worker-options.d.ts +7 -0
  78. package/dist/{cjs/types/finished-target.d.ts → esm/types/finished-status.d.ts} +1 -1
  79. package/dist/esm/types/finished-status.js +1 -0
  80. package/dist/esm/types/finished-status.js.map +1 -0
  81. package/dist/esm/types/index.d.ts +1 -1
  82. package/dist/esm/types/index.js +1 -1
  83. package/dist/esm/types/job-type.d.ts +2 -2
  84. package/package.json +1 -1
  85. package/dist/cjs/types/finished-target.js.map +0 -1
  86. package/dist/esm/types/finished-target.js +0 -1
  87. package/dist/esm/types/finished-target.js.map +0 -1
@@ -0,0 +1,42 @@
1
+ --[[
2
+ Functions to collect metrics based on a current and previous count of jobs.
3
+ Granualarity is fixed at 1 minute.
4
+ ]] local function collectMetrics(metaKey, dataPointsList, maxDataPoints,
5
+ timestamp)
6
+ -- Increment current count
7
+ local count = rcall("HINCRBY", metaKey, "count", 1) - 1
8
+
9
+ -- Compute how many data points we need to add to the list, N.
10
+ local prevTS = rcall("HGET", metaKey, "prevTS")
11
+
12
+ if not prevTS then
13
+ -- If prevTS is nil, set it to the current timestamp
14
+ rcall("HSET", metaKey, "prevTS", timestamp, "prevCount", 0)
15
+ return
16
+ end
17
+
18
+ local N = math.floor((timestamp - prevTS) / 60000)
19
+
20
+ if N > 0 then
21
+ local delta = count - rcall("HGET", metaKey, "prevCount")
22
+ -- If N > 1, add N-1 zeros to the list
23
+ if N > 1 then
24
+ local points = {}
25
+ points[1] = delta
26
+ for i = 2, N do
27
+ points[i] = 0
28
+ end
29
+ rcall("LPUSH", dataPointsList, unpack(points))
30
+ else
31
+ -- LPUSH delta to the list
32
+ rcall("LPUSH", dataPointsList, delta)
33
+ end
34
+
35
+ -- LTRIM to keep list to its max size
36
+ rcall("LTRIM", dataPointsList, 0, maxDataPoints - 1)
37
+
38
+ -- update prev count with current count
39
+ rcall("HSET", metaKey, "prevCount", count, "prevTS", timestamp)
40
+ end
41
+
42
+ end
@@ -55,16 +55,26 @@ if jobId then
55
55
  if(maxJobs) then
56
56
  local rateLimiterKey = KEYS[6];
57
57
 
58
+ local groupKey
58
59
  if(ARGV[8]) then
59
- local groupKey = string.match(jobId, "[^:]+$")
60
- if groupKey ~= nil then
60
+ groupKey = string.match(jobId, "[^:]+$")
61
+ if groupKey ~= jobId then
61
62
  rateLimiterKey = rateLimiterKey .. ":" .. groupKey
62
63
  end
63
64
  end
64
65
 
65
- local jobCounter = tonumber(rcall("INCR", rateLimiterKey))
66
+ local jobCounter
67
+
68
+ if groupKey ~= nil then
69
+ if rateLimiterKey ~= KEYS[6] then
70
+ jobCounter = tonumber(rcall("INCR", rateLimiterKey))
71
+ end
72
+ else
73
+ jobCounter = tonumber(rcall("INCR", rateLimiterKey))
74
+ end
75
+
66
76
  -- check if rate limit hit
67
- if jobCounter > maxJobs then
77
+ if jobCounter ~= nil and jobCounter > maxJobs then
68
78
  local exceedingJobs = jobCounter - maxJobs
69
79
  local expireTime = tonumber(rcall("PTTL", rateLimiterKey))
70
80
  local delay = expireTime + ((exceedingJobs - 1) * ARGV[7]) / maxJobs;
@@ -13,6 +13,7 @@
13
13
  KEYS[6] event stream key
14
14
  KEYS[7] meta key
15
15
  KEYS[8] stalled key
16
+ KEYS[9] metrics key
16
17
 
17
18
  ARGV[1] jobId
18
19
  ARGV[2] timestamp
@@ -30,6 +31,7 @@
30
31
  ARGV[14] parentKey
31
32
  ARGV[15] max attempts
32
33
  ARGV[16] attemptsMade
34
+ ARGV[17] maxMetricsSize
33
35
 
34
36
  Output:
35
37
  0 OK
@@ -40,15 +42,15 @@
40
42
 
41
43
  Events:
42
44
  'completed/failed'
43
- ]]
44
- local rcall = redis.call
45
+ ]] local rcall = redis.call
45
46
 
46
- -- Includes
47
+ --- Includes
47
48
  --- @include "includes/destructureJobKey"
48
49
  --- @include "includes/moveJobFromWaitToActive"
49
50
  --- @include "includes/removeJob"
50
51
  --- @include "includes/trimEvents"
51
52
  --- @include "includes/updateParentDepsIfNeeded"
53
+ --- @include "includes/collectMetrics"
52
54
 
53
55
  local jobIdKey = KEYS[3]
54
56
  if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
@@ -72,9 +74,7 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
72
74
  -- Remove from active list (if not active we shall return error)
73
75
  local numRemovedElements = rcall("LREM", KEYS[1], -1, jobId)
74
76
 
75
- if (numRemovedElements < 1) then
76
- return -3
77
- end
77
+ if (numRemovedElements < 1) then return -3 end
78
78
 
79
79
  -- Trim events before emiting them to avoid trimming events emitted in this script
80
80
  trimEvents(KEYS[7], KEYS[6])
@@ -117,14 +117,18 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
117
117
  if maxAge ~= nil then
118
118
  local start = timestamp - maxAge * 1000
119
119
  local jobIds = rcall("ZREVRANGEBYSCORE", targetSet, start, "-inf")
120
- for i, jobId in ipairs(jobIds) do removeJob(jobId, false, prefix) end
120
+ for i, jobId in ipairs(jobIds) do
121
+ removeJob(jobId, false, prefix)
122
+ end
121
123
  rcall("ZREMRANGEBYSCORE", targetSet, "-inf", start)
122
124
  end
123
125
 
124
126
  if maxCount ~= nil and maxCount > 0 then
125
127
  local start = maxCount
126
128
  local jobIds = rcall("ZREVRANGE", targetSet, start, -1)
127
- for i, jobId in ipairs(jobIds) do removeJob(jobId, false, prefix) end
129
+ for i, jobId in ipairs(jobIds) do
130
+ removeJob(jobId, false, prefix)
131
+ end
128
132
  rcall("ZREMRANGEBYRANK", targetSet, 0, -(maxCount + 1))
129
133
  end
130
134
  else
@@ -141,6 +145,11 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
141
145
  end
142
146
  end
143
147
 
148
+ -- Collect metrics
149
+ if ARGV[17] ~= "" then
150
+ collectMetrics(KEYS[9], KEYS[9]..':data', ARGV[17], timestamp)
151
+ end
152
+
144
153
  -- Try to get next job to avoid an extra roundtrip if the queue is not closing,
145
154
  -- and not rate limited.
146
155
  if (ARGV[8] == "1") then
@@ -75,10 +75,19 @@ if(maxCount <= 0) then
75
75
  end
76
76
 
77
77
  if(maxCount > 0) then
78
- rcall("DEL", baseKey .. 'priority', baseKey .. 'events',
79
- baseKey .. 'delay', baseKey .. 'stalled-check',
80
- baseKey .. 'stalled', baseKey .. 'id',
81
- baseKey .. 'meta', baseKey .. 'repeat')
78
+ rcall("DEL",
79
+ baseKey .. 'priority',
80
+ baseKey .. 'events',
81
+ baseKey .. 'delay',
82
+ baseKey .. 'stalled-check',
83
+ baseKey .. 'stalled',
84
+ baseKey .. 'id',
85
+ baseKey .. 'meta',
86
+ baseKey .. 'repeat',
87
+ baseKey .. 'metrics:completed',
88
+ baseKey .. 'metrics:completed:data',
89
+ baseKey .. 'metrics:failed',
90
+ baseKey .. 'metrics:failed:data')
82
91
  return 0
83
92
  else
84
93
  return 1
@@ -4,7 +4,7 @@
4
4
  Input:
5
5
  KEYS[1] base key
6
6
  KEYS[2] events stream
7
- KEYS[3] failed state key
7
+ KEYS[3] state key (failed, completed)
8
8
  KEYS[4] wait state key
9
9
 
10
10
  ARGV[1] count
@@ -28,7 +28,7 @@ local jobs = rcall('ZRANGEBYSCORE', KEYS[3], 0, timestamp, 'LIMIT', 0, maxCount)
28
28
  if (#jobs > 0) then
29
29
  for i, key in ipairs(jobs) do
30
30
  local jobKey = baseKey .. key
31
- rcall("HDEL", jobKey, "finishedOn", "processedOn", "failedReason")
31
+ rcall("HDEL", jobKey, "finishedOn", "processedOn", "failedReason", "returnvalue")
32
32
 
33
33
  -- Emit waiting event
34
34
  rcall("XADD", KEYS[2], "*", "event", "waiting", "jobId", key);
@@ -1 +1,2 @@
1
1
  export * from './error-code.enum';
2
+ export * from './metrics-time';
@@ -1,2 +1,3 @@
1
1
  export * from './error-code.enum';
2
+ export * from './metrics-time';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare enum MetricsTime {
2
+ ONE_MINUTE = 1,
3
+ FIVE_MINUTES = 5,
4
+ FIFTEEN_MINUTES = 15,
5
+ THIRTY_MINUTES = 30,
6
+ ONE_HOUR = 60,
7
+ ONE_WEEK = 10080,
8
+ TWO_WEEKS = 20160,
9
+ ONE_MONTH = 80640
10
+ }
@@ -0,0 +1,12 @@
1
+ export var MetricsTime;
2
+ (function (MetricsTime) {
3
+ MetricsTime[MetricsTime["ONE_MINUTE"] = 1] = "ONE_MINUTE";
4
+ MetricsTime[MetricsTime["FIVE_MINUTES"] = 5] = "FIVE_MINUTES";
5
+ MetricsTime[MetricsTime["FIFTEEN_MINUTES"] = 15] = "FIFTEEN_MINUTES";
6
+ MetricsTime[MetricsTime["THIRTY_MINUTES"] = 30] = "THIRTY_MINUTES";
7
+ MetricsTime[MetricsTime["ONE_HOUR"] = 60] = "ONE_HOUR";
8
+ MetricsTime[MetricsTime["ONE_WEEK"] = 10080] = "ONE_WEEK";
9
+ MetricsTime[MetricsTime["TWO_WEEKS"] = 20160] = "TWO_WEEKS";
10
+ MetricsTime[MetricsTime["ONE_MONTH"] = 80640] = "ONE_MONTH";
11
+ })(MetricsTime || (MetricsTime = {}));
12
+ //# sourceMappingURL=metrics-time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-time.js","sourceRoot":"","sources":["../../../src/enums/metrics-time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,yDAAc,CAAA;IACd,6DAAgB,CAAA;IAChB,oEAAoB,CAAA;IACpB,kEAAmB,CAAA;IACnB,sDAAa,CAAA;IACb,yDAAsB,CAAA;IACtB,2DAA2B,CAAA;IAC3B,2DAA+B,CAAA;AACjC,CAAC,EATW,WAAW,KAAX,WAAW,QAStB"}
@@ -7,6 +7,8 @@ export * from './flow-job';
7
7
  export * from './job-json';
8
8
  export * from './jobs-options';
9
9
  export * from './keep-jobs';
10
+ export * from './metrics-options';
11
+ export * from './metrics';
10
12
  export * from './parent-command';
11
13
  export * from './parent-message';
12
14
  export * from './parent';
@@ -7,6 +7,8 @@ export * from './flow-job';
7
7
  export * from './job-json';
8
8
  export * from './jobs-options';
9
9
  export * from './keep-jobs';
10
+ export * from './metrics-options';
11
+ export * from './metrics';
10
12
  export * from './parent-command';
11
13
  export * from './parent-message';
12
14
  export * from './parent';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ *
3
+ *
4
+ */
5
+ export interface MetricsOptions {
6
+ /**
7
+ * Enable gathering metrics for finished jobs.
8
+ * Output refers to all finished jobs, completed or
9
+ * failed.
10
+ */
11
+ maxDataPoints?: number;
12
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=metrics-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-options.js","sourceRoot":"","sources":["../../../src/interfaces/metrics-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface Metrics {
2
+ meta: {
3
+ count: number;
4
+ prevTS: number;
5
+ prevCount: number;
6
+ };
7
+ data: number[];
8
+ count: number;
9
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/interfaces/metrics.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ import { Job } from '../classes/job';
2
2
  import { AdvancedOptions } from './advanced-options';
3
3
  import { QueueBaseOptions } from './queue-options';
4
4
  import { RateLimiterOptions } from './rate-limiter-options';
5
+ import { MetricsOptions } from './metrics-options';
5
6
  /**
6
7
  * An async function that receives `Job`s and handles them.
7
8
  */
@@ -19,9 +20,15 @@ export interface WorkerOptions extends QueueBaseOptions {
19
20
  */
20
21
  concurrency?: number;
21
22
  /**
23
+ * Enable rate limiter
22
24
  * @see {@link https://docs.bullmq.io/guide/rate-limiting}
23
25
  */
24
26
  limiter?: RateLimiterOptions;
27
+ /**
28
+ * Enable collect metrics.
29
+ * @see {@link https://docs.bullmq.io/guide/metrics}
30
+ */
31
+ metrics?: MetricsOptions;
25
32
  skipDelayCheck?: boolean;
26
33
  drainDelay?: number;
27
34
  lockDuration?: number;
@@ -1,2 +1,2 @@
1
- export declare type FinishedTarget = 'completed' | 'failed';
1
+ export declare type FinishedStatus = 'completed' | 'failed';
2
2
  export declare type FinishedPropValAttribute = 'returnvalue' | 'failedReason';
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=finished-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finished-status.js","sourceRoot":"","sources":["../../../src/types/finished-status.ts"],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
- export * from './finished-target';
1
+ export * from './finished-status';
2
2
  export * from './job-json-sandbox';
3
3
  export * from './job-type';
@@ -1,4 +1,4 @@
1
- export * from './finished-target';
1
+ export * from './finished-status';
2
2
  export * from './job-json-sandbox';
3
3
  export * from './job-type';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- import { FinishedTarget } from './finished-target';
2
- export declare type JobState = FinishedTarget | 'active' | 'delayed' | 'waiting' | 'waiting-children';
1
+ import { FinishedStatus } from './finished-status';
2
+ export declare type JobState = FinishedStatus | 'active' | 'delayed' | 'waiting' | 'waiting-children';
3
3
  export declare type JobType = JobState | 'paused' | 'repeat' | 'wait';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bullmq",
3
- "version": "1.74.3",
3
+ "version": "1.76.0",
4
4
  "description": "Queue for messages and jobs based on Redis",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"finished-target.js","sourceRoot":"","sources":["../../../src/types/finished-target.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=finished-target.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finished-target.js","sourceRoot":"","sources":["../../../src/types/finished-target.ts"],"names":[],"mappings":""}