glide-mq 0.4.2 → 0.5.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.
- package/.jules/bolt.md +3 -0
- package/README.md +27 -314
- package/dist/flow-producer.d.ts.map +1 -1
- package/dist/flow-producer.js +1 -1
- package/dist/flow-producer.js.map +1 -1
- package/dist/functions/index.d.ts +8 -7
- package/dist/functions/index.d.ts.map +1 -1
- package/dist/functions/index.js +171 -15
- package/dist/functions/index.js.map +1 -1
- package/dist/job.d.ts +1 -0
- package/dist/job.d.ts.map +1 -1
- package/dist/job.js +2 -0
- package/dist/job.js.map +1 -1
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +12 -4
- package/dist/queue.js.map +1 -1
- package/dist/types.d.ts +7 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +1 -1
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +34 -4
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
package/dist/functions/index.js
CHANGED
|
@@ -20,7 +20,7 @@ exports.searchByName = searchByName;
|
|
|
20
20
|
exports.addFlow = addFlow;
|
|
21
21
|
exports.completeChild = completeChild;
|
|
22
22
|
exports.LIBRARY_NAME = 'glidemq';
|
|
23
|
-
exports.LIBRARY_VERSION = '
|
|
23
|
+
exports.LIBRARY_VERSION = '16';
|
|
24
24
|
// Consumer group name used by workers
|
|
25
25
|
exports.CONSUMER_GROUP = 'workers';
|
|
26
26
|
// Embedded Lua library source (from glidemq.lua)
|
|
@@ -76,6 +76,25 @@ local function markOrderingDone(jobKey, jobId)
|
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
+
local function releaseGroupSlotAndPromote(jobKey, jobId)
|
|
80
|
+
local gk = redis.call('HGET', jobKey, 'groupKey')
|
|
81
|
+
if not gk or gk == '' then return end
|
|
82
|
+
local prefix = string.sub(jobKey, 1, #jobKey - #('job:' .. jobId))
|
|
83
|
+
local groupHashKey = prefix .. 'group:' .. gk
|
|
84
|
+
local cur = tonumber(redis.call('HGET', groupHashKey, 'active')) or 0
|
|
85
|
+
if cur > 0 then
|
|
86
|
+
redis.call('HSET', groupHashKey, 'active', tostring(cur - 1))
|
|
87
|
+
end
|
|
88
|
+
local waitListKey = prefix .. 'groupq:' .. gk
|
|
89
|
+
local nextJobId = redis.call('LPOP', waitListKey)
|
|
90
|
+
if nextJobId then
|
|
91
|
+
local streamKey = prefix .. 'stream'
|
|
92
|
+
redis.call('XADD', streamKey, '*', 'jobId', nextJobId)
|
|
93
|
+
local nextJobKey = prefix .. 'job:' .. nextJobId
|
|
94
|
+
redis.call('HSET', nextJobKey, 'state', 'waiting')
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
79
98
|
local function extractOrderingKeyFromOpts(optsJson)
|
|
80
99
|
if not optsJson or optsJson == '' then
|
|
81
100
|
return ''
|
|
@@ -95,6 +114,25 @@ local function extractOrderingKeyFromOpts(optsJson)
|
|
|
95
114
|
return tostring(key)
|
|
96
115
|
end
|
|
97
116
|
|
|
117
|
+
local function extractGroupConcurrencyFromOpts(optsJson)
|
|
118
|
+
if not optsJson or optsJson == '' then
|
|
119
|
+
return 0
|
|
120
|
+
end
|
|
121
|
+
local ok, decoded = pcall(cjson.decode, optsJson)
|
|
122
|
+
if not ok or type(decoded) ~= 'table' then
|
|
123
|
+
return 0
|
|
124
|
+
end
|
|
125
|
+
local ordering = decoded['ordering']
|
|
126
|
+
if type(ordering) ~= 'table' then
|
|
127
|
+
return 0
|
|
128
|
+
end
|
|
129
|
+
local conc = ordering['concurrency']
|
|
130
|
+
if conc == nil then
|
|
131
|
+
return 0
|
|
132
|
+
end
|
|
133
|
+
return tonumber(conc) or 0
|
|
134
|
+
end
|
|
135
|
+
|
|
98
136
|
redis.register_function('glidemq_version', function(keys, args)
|
|
99
137
|
return '${exports.LIBRARY_VERSION}'
|
|
100
138
|
end)
|
|
@@ -113,15 +151,24 @@ redis.register_function('glidemq_addJob', function(keys, args)
|
|
|
113
151
|
local parentId = args[7] or ''
|
|
114
152
|
local maxAttempts = tonumber(args[8]) or 0
|
|
115
153
|
local orderingKey = args[9] or ''
|
|
154
|
+
local groupConcurrency = tonumber(args[10]) or 0
|
|
116
155
|
local jobId = redis.call('INCR', idKey)
|
|
117
156
|
local jobIdStr = tostring(jobId)
|
|
118
157
|
local prefix = string.sub(idKey, 1, #idKey - 2)
|
|
119
158
|
local jobKey = prefix .. 'job:' .. jobIdStr
|
|
159
|
+
local useGroupConcurrency = (orderingKey ~= '' and groupConcurrency > 1)
|
|
120
160
|
local orderingSeq = 0
|
|
121
|
-
if orderingKey ~= '' then
|
|
161
|
+
if orderingKey ~= '' and not useGroupConcurrency then
|
|
122
162
|
local orderingMetaKey = prefix .. 'ordering'
|
|
123
163
|
orderingSeq = redis.call('HINCRBY', orderingMetaKey, orderingKey, 1)
|
|
124
164
|
end
|
|
165
|
+
if useGroupConcurrency then
|
|
166
|
+
local groupHashKey = prefix .. 'group:' .. orderingKey
|
|
167
|
+
local curMax = tonumber(redis.call('HGET', groupHashKey, 'maxConcurrency')) or 0
|
|
168
|
+
if curMax ~= groupConcurrency then
|
|
169
|
+
redis.call('HSET', groupHashKey, 'maxConcurrency', tostring(groupConcurrency))
|
|
170
|
+
end
|
|
171
|
+
end
|
|
125
172
|
local hashFields = {
|
|
126
173
|
'id', jobIdStr,
|
|
127
174
|
'name', jobName,
|
|
@@ -133,7 +180,10 @@ redis.register_function('glidemq_addJob', function(keys, args)
|
|
|
133
180
|
'priority', tostring(priority),
|
|
134
181
|
'maxAttempts', tostring(maxAttempts)
|
|
135
182
|
}
|
|
136
|
-
if
|
|
183
|
+
if useGroupConcurrency then
|
|
184
|
+
hashFields[#hashFields + 1] = 'groupKey'
|
|
185
|
+
hashFields[#hashFields + 1] = orderingKey
|
|
186
|
+
elseif orderingKey ~= '' then
|
|
137
187
|
hashFields[#hashFields + 1] = 'orderingKey'
|
|
138
188
|
hashFields[#hashFields + 1] = orderingKey
|
|
139
189
|
hashFields[#hashFields + 1] = 'orderingSeq'
|
|
@@ -230,6 +280,7 @@ redis.register_function('glidemq_complete', function(keys, args)
|
|
|
230
280
|
'finishedOn', tostring(timestamp)
|
|
231
281
|
)
|
|
232
282
|
markOrderingDone(jobKey, jobId)
|
|
283
|
+
releaseGroupSlotAndPromote(jobKey, jobId)
|
|
233
284
|
emitEvent(eventsKey, 'completed', jobId, {'returnvalue', returnvalue})
|
|
234
285
|
local prefix = string.sub(jobKey, 1, #jobKey - #('job:' .. jobId))
|
|
235
286
|
if removeMode == 'true' then
|
|
@@ -311,6 +362,7 @@ redis.register_function('glidemq_completeAndFetchNext', function(keys, args)
|
|
|
311
362
|
'finishedOn', tostring(timestamp)
|
|
312
363
|
)
|
|
313
364
|
markOrderingDone(jobKey, jobId)
|
|
365
|
+
releaseGroupSlotAndPromote(jobKey, jobId)
|
|
314
366
|
emitEvent(eventsKey, 'completed', jobId, {'returnvalue', returnvalue})
|
|
315
367
|
local prefix = string.sub(jobKey, 1, #jobKey - #('job:' .. jobId))
|
|
316
368
|
|
|
@@ -378,6 +430,21 @@ redis.register_function('glidemq_completeAndFetchNext', function(keys, args)
|
|
|
378
430
|
if revoked == '1' then
|
|
379
431
|
return cjson.encode({completed = jobId, next = 'REVOKED', nextJobId = nextJobId, nextEntryId = nextEntryId})
|
|
380
432
|
end
|
|
433
|
+
local nextGroupKey = redis.call('HGET', nextJobKey, 'groupKey')
|
|
434
|
+
if nextGroupKey and nextGroupKey ~= '' then
|
|
435
|
+
local nextGroupHashKey = prefix .. 'group:' .. nextGroupKey
|
|
436
|
+
local nextMaxConc = tonumber(redis.call('HGET', nextGroupHashKey, 'maxConcurrency')) or 0
|
|
437
|
+
local nextActive = tonumber(redis.call('HGET', nextGroupHashKey, 'active')) or 0
|
|
438
|
+
if nextMaxConc > 0 and nextActive >= nextMaxConc then
|
|
439
|
+
redis.call('XACK', streamKey, group, nextEntryId)
|
|
440
|
+
redis.call('XDEL', streamKey, nextEntryId)
|
|
441
|
+
local nextWaitListKey = prefix .. 'groupq:' .. nextGroupKey
|
|
442
|
+
redis.call('RPUSH', nextWaitListKey, nextJobId)
|
|
443
|
+
redis.call('HSET', nextJobKey, 'state', 'group-waiting')
|
|
444
|
+
return cjson.encode({completed = jobId, next = false})
|
|
445
|
+
end
|
|
446
|
+
redis.call('HINCRBY', nextGroupHashKey, 'active', 1)
|
|
447
|
+
end
|
|
381
448
|
redis.call('HSET', nextJobKey, 'state', 'active', 'processedOn', tostring(timestamp), 'lastActive', tostring(timestamp))
|
|
382
449
|
local nextHash = redis.call('HGETALL', nextJobKey)
|
|
383
450
|
return cjson.encode({completed = jobId, next = nextHash, nextJobId = nextJobId, nextEntryId = nextEntryId})
|
|
@@ -412,6 +479,7 @@ redis.register_function('glidemq_fail', function(keys, args)
|
|
|
412
479
|
'failedReason', failedReason,
|
|
413
480
|
'processedOn', tostring(timestamp)
|
|
414
481
|
)
|
|
482
|
+
releaseGroupSlotAndPromote(jobKey, jobId)
|
|
415
483
|
emitEvent(eventsKey, 'retrying', jobId, {
|
|
416
484
|
'failedReason', failedReason,
|
|
417
485
|
'attemptsMade', tostring(attemptsMade),
|
|
@@ -427,6 +495,7 @@ redis.register_function('glidemq_fail', function(keys, args)
|
|
|
427
495
|
'processedOn', tostring(timestamp)
|
|
428
496
|
)
|
|
429
497
|
markOrderingDone(jobKey, jobId)
|
|
498
|
+
releaseGroupSlotAndPromote(jobKey, jobId)
|
|
430
499
|
emitEvent(eventsKey, 'failed', jobId, {'failedReason', failedReason})
|
|
431
500
|
local prefix = string.sub(jobKey, 1, #jobKey - #('job:' .. jobId))
|
|
432
501
|
if removeMode == 'true' then
|
|
@@ -514,6 +583,7 @@ redis.register_function('glidemq_reclaimStalled', function(keys, args)
|
|
|
514
583
|
'finishedOn', tostring(timestamp)
|
|
515
584
|
)
|
|
516
585
|
markOrderingDone(jobKey, jobId)
|
|
586
|
+
releaseGroupSlotAndPromote(jobKey, jobId)
|
|
517
587
|
emitEvent(eventsKey, 'failed', jobId, {
|
|
518
588
|
'failedReason', 'job stalled more than maxStalledCount'
|
|
519
589
|
})
|
|
@@ -562,6 +632,7 @@ redis.register_function('glidemq_dedup', function(keys, args)
|
|
|
562
632
|
local parentId = args[10] or ''
|
|
563
633
|
local maxAttempts = tonumber(args[11]) or 0
|
|
564
634
|
local orderingKey = args[12] or ''
|
|
635
|
+
local groupConcurrency = tonumber(args[13]) or 0
|
|
565
636
|
local prefix = string.sub(idKey, 1, #idKey - 2)
|
|
566
637
|
local existing = redis.call('HGET', dedupKey, dedupId)
|
|
567
638
|
if mode == 'simple' then
|
|
@@ -607,11 +678,19 @@ redis.register_function('glidemq_dedup', function(keys, args)
|
|
|
607
678
|
local jobId = redis.call('INCR', idKey)
|
|
608
679
|
local jobIdStr = tostring(jobId)
|
|
609
680
|
local jobKey = prefix .. 'job:' .. jobIdStr
|
|
681
|
+
local useGroupConcurrency = (orderingKey ~= '' and groupConcurrency > 1)
|
|
610
682
|
local orderingSeq = 0
|
|
611
|
-
if orderingKey ~= '' then
|
|
683
|
+
if orderingKey ~= '' and not useGroupConcurrency then
|
|
612
684
|
local orderingMetaKey = prefix .. 'ordering'
|
|
613
685
|
orderingSeq = redis.call('HINCRBY', orderingMetaKey, orderingKey, 1)
|
|
614
686
|
end
|
|
687
|
+
if useGroupConcurrency then
|
|
688
|
+
local groupHashKey = prefix .. 'group:' .. orderingKey
|
|
689
|
+
local curMax = tonumber(redis.call('HGET', groupHashKey, 'maxConcurrency')) or 0
|
|
690
|
+
if curMax ~= groupConcurrency then
|
|
691
|
+
redis.call('HSET', groupHashKey, 'maxConcurrency', tostring(groupConcurrency))
|
|
692
|
+
end
|
|
693
|
+
end
|
|
615
694
|
local hashFields = {
|
|
616
695
|
'id', jobIdStr,
|
|
617
696
|
'name', jobName,
|
|
@@ -623,7 +702,10 @@ redis.register_function('glidemq_dedup', function(keys, args)
|
|
|
623
702
|
'priority', tostring(priority),
|
|
624
703
|
'maxAttempts', tostring(maxAttempts)
|
|
625
704
|
}
|
|
626
|
-
if
|
|
705
|
+
if useGroupConcurrency then
|
|
706
|
+
hashFields[#hashFields + 1] = 'groupKey'
|
|
707
|
+
hashFields[#hashFields + 1] = orderingKey
|
|
708
|
+
elseif orderingKey ~= '' then
|
|
627
709
|
hashFields[#hashFields + 1] = 'orderingKey'
|
|
628
710
|
hashFields[#hashFields + 1] = orderingKey
|
|
629
711
|
hashFields[#hashFields + 1] = 'orderingSeq'
|
|
@@ -694,7 +776,11 @@ end)
|
|
|
694
776
|
|
|
695
777
|
redis.register_function('glidemq_moveToActive', function(keys, args)
|
|
696
778
|
local jobKey = keys[1]
|
|
779
|
+
local streamKey = keys[2] or ''
|
|
697
780
|
local timestamp = args[1]
|
|
781
|
+
local entryId = args[2] or ''
|
|
782
|
+
local group = args[3] or ''
|
|
783
|
+
local jobId = args[4] or ''
|
|
698
784
|
local exists = redis.call('EXISTS', jobKey)
|
|
699
785
|
if exists == 0 then
|
|
700
786
|
return ''
|
|
@@ -703,6 +789,24 @@ redis.register_function('glidemq_moveToActive', function(keys, args)
|
|
|
703
789
|
if revoked == '1' then
|
|
704
790
|
return 'REVOKED'
|
|
705
791
|
end
|
|
792
|
+
local groupKey = redis.call('HGET', jobKey, 'groupKey')
|
|
793
|
+
if groupKey and groupKey ~= '' then
|
|
794
|
+
local prefix = string.sub(jobKey, 1, #jobKey - #('job:' .. jobId))
|
|
795
|
+
local groupHashKey = prefix .. 'group:' .. groupKey
|
|
796
|
+
local maxConc = tonumber(redis.call('HGET', groupHashKey, 'maxConcurrency')) or 0
|
|
797
|
+
local active = tonumber(redis.call('HGET', groupHashKey, 'active')) or 0
|
|
798
|
+
if maxConc > 0 and active >= maxConc then
|
|
799
|
+
if streamKey ~= '' and entryId ~= '' and group ~= '' then
|
|
800
|
+
redis.call('XACK', streamKey, group, entryId)
|
|
801
|
+
redis.call('XDEL', streamKey, entryId)
|
|
802
|
+
end
|
|
803
|
+
local waitListKey = prefix .. 'groupq:' .. groupKey
|
|
804
|
+
redis.call('RPUSH', waitListKey, jobId)
|
|
805
|
+
redis.call('HSET', jobKey, 'state', 'group-waiting')
|
|
806
|
+
return 'GROUP_FULL'
|
|
807
|
+
end
|
|
808
|
+
redis.call('HINCRBY', groupHashKey, 'active', 1)
|
|
809
|
+
end
|
|
706
810
|
redis.call('HSET', jobKey, 'state', 'active', 'processedOn', timestamp, 'lastActive', timestamp)
|
|
707
811
|
local fields = redis.call('HGETALL', jobKey)
|
|
708
812
|
return cjson.encode(fields)
|
|
@@ -744,8 +848,9 @@ redis.register_function('glidemq_addFlow', function(keys, args)
|
|
|
744
848
|
local parentJobKey = parentPrefix .. 'job:' .. parentJobIdStr
|
|
745
849
|
local depsKey = parentPrefix .. 'deps:' .. parentJobIdStr
|
|
746
850
|
local parentOrderingKey = extractOrderingKeyFromOpts(parentOpts)
|
|
851
|
+
local parentGroupConc = extractGroupConcurrencyFromOpts(parentOpts)
|
|
747
852
|
local parentOrderingSeq = 0
|
|
748
|
-
if parentOrderingKey ~= '' then
|
|
853
|
+
if parentOrderingKey ~= '' and parentGroupConc <= 1 then
|
|
749
854
|
local parentOrderingMetaKey = parentPrefix .. 'ordering'
|
|
750
855
|
parentOrderingSeq = redis.call('HINCRBY', parentOrderingMetaKey, parentOrderingKey, 1)
|
|
751
856
|
end
|
|
@@ -761,7 +866,13 @@ redis.register_function('glidemq_addFlow', function(keys, args)
|
|
|
761
866
|
'maxAttempts', tostring(parentMaxAttempts),
|
|
762
867
|
'state', 'waiting-children'
|
|
763
868
|
}
|
|
764
|
-
if parentOrderingKey ~= '' then
|
|
869
|
+
if parentOrderingKey ~= '' and parentGroupConc > 1 then
|
|
870
|
+
parentHash[#parentHash + 1] = 'groupKey'
|
|
871
|
+
parentHash[#parentHash + 1] = parentOrderingKey
|
|
872
|
+
local groupHashKey = parentPrefix .. 'group:' .. parentOrderingKey
|
|
873
|
+
redis.call('HSET', groupHashKey, 'maxConcurrency', tostring(parentGroupConc))
|
|
874
|
+
redis.call('HSETNX', groupHashKey, 'active', '0')
|
|
875
|
+
elseif parentOrderingKey ~= '' then
|
|
765
876
|
parentHash[#parentHash + 1] = 'orderingKey'
|
|
766
877
|
parentHash[#parentHash + 1] = parentOrderingKey
|
|
767
878
|
parentHash[#parentHash + 1] = 'orderingSeq'
|
|
@@ -791,8 +902,9 @@ redis.register_function('glidemq_addFlow', function(keys, args)
|
|
|
791
902
|
local childPrefix = string.sub(childIdKey, 1, #childIdKey - 2)
|
|
792
903
|
local childJobKey = childPrefix .. 'job:' .. childJobIdStr
|
|
793
904
|
local childOrderingKey = extractOrderingKeyFromOpts(childOpts)
|
|
905
|
+
local childGroupConc = extractGroupConcurrencyFromOpts(childOpts)
|
|
794
906
|
local childOrderingSeq = 0
|
|
795
|
-
if childOrderingKey ~= '' then
|
|
907
|
+
if childOrderingKey ~= '' and childGroupConc <= 1 then
|
|
796
908
|
local childOrderingMetaKey = childPrefix .. 'ordering'
|
|
797
909
|
childOrderingSeq = redis.call('HINCRBY', childOrderingMetaKey, childOrderingKey, 1)
|
|
798
910
|
end
|
|
@@ -809,7 +921,13 @@ redis.register_function('glidemq_addFlow', function(keys, args)
|
|
|
809
921
|
'parentId', parentJobIdStr,
|
|
810
922
|
'parentQueue', childParentQueue
|
|
811
923
|
}
|
|
812
|
-
if childOrderingKey ~= '' then
|
|
924
|
+
if childOrderingKey ~= '' and childGroupConc > 1 then
|
|
925
|
+
childHash[#childHash + 1] = 'groupKey'
|
|
926
|
+
childHash[#childHash + 1] = childOrderingKey
|
|
927
|
+
local childGroupHashKey = childPrefix .. 'group:' .. childOrderingKey
|
|
928
|
+
redis.call('HSETNX', childGroupHashKey, 'maxConcurrency', tostring(childGroupConc))
|
|
929
|
+
redis.call('HSETNX', childGroupHashKey, 'active', '0')
|
|
930
|
+
elseif childOrderingKey ~= '' then
|
|
813
931
|
childHash[#childHash + 1] = 'orderingKey'
|
|
814
932
|
childHash[#childHash + 1] = childOrderingKey
|
|
815
933
|
childHash[#childHash + 1] = 'orderingSeq'
|
|
@@ -882,6 +1000,17 @@ redis.register_function('glidemq_removeJob', function(keys, args)
|
|
|
882
1000
|
if exists == 0 then
|
|
883
1001
|
return 0
|
|
884
1002
|
end
|
|
1003
|
+
local state = redis.call('HGET', jobKey, 'state')
|
|
1004
|
+
local groupKey = redis.call('HGET', jobKey, 'groupKey')
|
|
1005
|
+
if groupKey and groupKey ~= '' then
|
|
1006
|
+
if state == 'active' then
|
|
1007
|
+
releaseGroupSlotAndPromote(jobKey, jobId)
|
|
1008
|
+
elseif state == 'group-waiting' then
|
|
1009
|
+
local prefix = string.sub(jobKey, 1, #jobKey - #('job:' .. jobId))
|
|
1010
|
+
local waitListKey = prefix .. 'groupq:' .. groupKey
|
|
1011
|
+
redis.call('LREM', waitListKey, 1, jobId)
|
|
1012
|
+
end
|
|
1013
|
+
end
|
|
885
1014
|
redis.call('ZREM', scheduledKey, jobId)
|
|
886
1015
|
redis.call('ZREM', completedKey, jobId)
|
|
887
1016
|
redis.call('ZREM', failedKey, jobId)
|
|
@@ -907,6 +1036,22 @@ redis.register_function('glidemq_revoke', function(keys, args)
|
|
|
907
1036
|
end
|
|
908
1037
|
redis.call('HSET', jobKey, 'revoked', '1')
|
|
909
1038
|
local state = redis.call('HGET', jobKey, 'state')
|
|
1039
|
+
if state == 'group-waiting' then
|
|
1040
|
+
local gk = redis.call('HGET', jobKey, 'groupKey')
|
|
1041
|
+
if gk and gk ~= '' then
|
|
1042
|
+
local prefix = string.sub(jobKey, 1, #jobKey - #('job:' .. jobId))
|
|
1043
|
+
local waitListKey = prefix .. 'groupq:' .. gk
|
|
1044
|
+
redis.call('LREM', waitListKey, 1, jobId)
|
|
1045
|
+
end
|
|
1046
|
+
redis.call('ZADD', failedKey, timestamp, jobId)
|
|
1047
|
+
redis.call('HSET', jobKey,
|
|
1048
|
+
'state', 'failed',
|
|
1049
|
+
'failedReason', 'revoked',
|
|
1050
|
+
'finishedOn', tostring(timestamp)
|
|
1051
|
+
)
|
|
1052
|
+
emitEvent(eventsKey, 'revoked', jobId, nil)
|
|
1053
|
+
return 'revoked'
|
|
1054
|
+
end
|
|
910
1055
|
if state == 'waiting' or state == 'delayed' or state == 'prioritized' then
|
|
911
1056
|
redis.call('ZREM', scheduledKey, jobId)
|
|
912
1057
|
local entries = redis.call('XRANGE', streamKey, '-', '+')
|
|
@@ -982,7 +1127,7 @@ end)
|
|
|
982
1127
|
* Add a job to the queue atomically.
|
|
983
1128
|
* Returns the new job ID (string).
|
|
984
1129
|
*/
|
|
985
|
-
async function addJob(client, k, jobName, data, opts, timestamp, delay, priority, parentId, maxAttempts, orderingKey = '') {
|
|
1130
|
+
async function addJob(client, k, jobName, data, opts, timestamp, delay, priority, parentId, maxAttempts, orderingKey = '', groupConcurrency = 0) {
|
|
986
1131
|
const result = await client.fcall('glidemq_addJob', [k.id, k.stream, k.scheduled, k.events], [
|
|
987
1132
|
jobName,
|
|
988
1133
|
data,
|
|
@@ -993,6 +1138,7 @@ async function addJob(client, k, jobName, data, opts, timestamp, delay, priority
|
|
|
993
1138
|
parentId,
|
|
994
1139
|
maxAttempts.toString(),
|
|
995
1140
|
orderingKey,
|
|
1141
|
+
groupConcurrency.toString(),
|
|
996
1142
|
]);
|
|
997
1143
|
return result;
|
|
998
1144
|
}
|
|
@@ -1000,7 +1146,7 @@ async function addJob(client, k, jobName, data, opts, timestamp, delay, priority
|
|
|
1000
1146
|
* Add a job with deduplication. Checks the dedup hash and either skips or adds the job.
|
|
1001
1147
|
* Returns "skipped" if deduplicated, otherwise the new job ID (string).
|
|
1002
1148
|
*/
|
|
1003
|
-
async function dedup(client, k, dedupId, ttlMs, mode, jobName, data, opts, timestamp, delay, priority, parentId, maxAttempts, orderingKey = '') {
|
|
1149
|
+
async function dedup(client, k, dedupId, ttlMs, mode, jobName, data, opts, timestamp, delay, priority, parentId, maxAttempts, orderingKey = '', groupConcurrency = 0) {
|
|
1004
1150
|
const result = await client.fcall('glidemq_dedup', [k.dedup, k.id, k.stream, k.scheduled, k.events], [
|
|
1005
1151
|
dedupId,
|
|
1006
1152
|
ttlMs.toString(),
|
|
@@ -1014,6 +1160,7 @@ async function dedup(client, k, dedupId, ttlMs, mode, jobName, data, opts, times
|
|
|
1014
1160
|
parentId,
|
|
1015
1161
|
maxAttempts.toString(),
|
|
1016
1162
|
orderingKey,
|
|
1163
|
+
groupConcurrency.toString(),
|
|
1017
1164
|
]);
|
|
1018
1165
|
return result;
|
|
1019
1166
|
}
|
|
@@ -1173,20 +1320,29 @@ async function checkConcurrency(client, k, group = exports.CONSUMER_GROUP) {
|
|
|
1173
1320
|
/**
|
|
1174
1321
|
* Move a job to active state in a single round trip.
|
|
1175
1322
|
* Reads the full job hash, checks revoked flag, sets state=active + processedOn + lastActive.
|
|
1323
|
+
* For group-concurrency jobs, checks if the group has capacity. If not, parks the job
|
|
1324
|
+
* in the group wait list and returns 'GROUP_FULL'.
|
|
1176
1325
|
* Returns:
|
|
1177
1326
|
* - null if job hash doesn't exist
|
|
1178
1327
|
* - 'REVOKED' if the job's revoked flag is set
|
|
1328
|
+
* - 'GROUP_FULL' if the job's group is at max concurrency (job was parked)
|
|
1179
1329
|
* - Record<string, string> with all job fields otherwise
|
|
1180
|
-
*
|
|
1181
|
-
* Replaces: HGETALL + revoked check + HSET lastActive (3 round trips -> 1)
|
|
1182
1330
|
*/
|
|
1183
|
-
async function moveToActive(client, k, jobId, timestamp) {
|
|
1184
|
-
const
|
|
1331
|
+
async function moveToActive(client, k, jobId, timestamp, streamKey = '', entryId = '', group = '') {
|
|
1332
|
+
const keys = [k.job(jobId)];
|
|
1333
|
+
const args = [timestamp.toString()];
|
|
1334
|
+
if (streamKey) {
|
|
1335
|
+
keys.push(streamKey);
|
|
1336
|
+
args.push(entryId, group, jobId);
|
|
1337
|
+
}
|
|
1338
|
+
const result = await client.fcall('glidemq_moveToActive', keys, args);
|
|
1185
1339
|
const str = String(result);
|
|
1186
1340
|
if (str === '' || str === 'null')
|
|
1187
1341
|
return null;
|
|
1188
1342
|
if (str === 'REVOKED')
|
|
1189
1343
|
return 'REVOKED';
|
|
1344
|
+
if (str === 'GROUP_FULL')
|
|
1345
|
+
return 'GROUP_FULL';
|
|
1190
1346
|
// Parse the cjson.encode output: [field1, value1, field2, value2, ...]
|
|
1191
1347
|
const arr = JSON.parse(str);
|
|
1192
1348
|
const hash = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
|
package/dist/job.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare class Job<D = any, R = any> {
|
|
|
16
16
|
parentQueue?: string;
|
|
17
17
|
orderingKey?: string;
|
|
18
18
|
orderingSeq?: number;
|
|
19
|
+
groupKey?: string;
|
|
19
20
|
/**
|
|
20
21
|
* AbortSignal that fires when this job is revoked during processing.
|
|
21
22
|
* The processor should check signal.aborted cooperatively.
|
package/dist/job.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,qBAAa,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
|
package/dist/job.js
CHANGED
|
@@ -19,6 +19,7 @@ class Job {
|
|
|
19
19
|
parentQueue;
|
|
20
20
|
orderingKey;
|
|
21
21
|
orderingSeq;
|
|
22
|
+
groupKey;
|
|
22
23
|
/**
|
|
23
24
|
* AbortSignal that fires when this job is revoked during processing.
|
|
24
25
|
* The processor should check signal.aborted cooperatively.
|
|
@@ -241,6 +242,7 @@ class Job {
|
|
|
241
242
|
job.parentQueue = hash.parentQueue || undefined;
|
|
242
243
|
job.orderingKey = hash.orderingKey || undefined;
|
|
243
244
|
job.orderingSeq = hash.orderingSeq ? parseInt(hash.orderingSeq, 10) : undefined;
|
|
245
|
+
job.groupKey = hash.groupKey || undefined;
|
|
244
246
|
if (hash.progress) {
|
|
245
247
|
try {
|
|
246
248
|
job.progress = JSON.parse(hash.progress);
|
package/dist/job.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":";;;AAEA,6CAAuD;AACvD,mCAAuD;AAEvD,MAAa,GAAG;IACL,EAAE,CAAS;IACX,IAAI,CAAS;IACtB,IAAI,CAAI;IACC,IAAI,CAAa;IAC1B,YAAY,CAAS;IACrB,WAAW,CAAgB;IAC3B,YAAY,CAAqB;IACjC,QAAQ,CAAkB;IAC1B,SAAS,CAAS;IAClB,UAAU,CAAqB;IAC/B,WAAW,CAAqB;IAChC,QAAQ,CAAU;IAClB,WAAW,CAAU;IACrB,WAAW,CAAU;IACrB,WAAW,CAAU;
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
|
package/dist/queue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClJ,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAkC5B,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,YAAY;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAY;gBAEZ,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;IAO5C,gBAAgB;IACV,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBlC;;;;OAIG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClJ,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAkC5B,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,YAAY;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAY;gBAEZ,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;IAO5C,gBAAgB;IACV,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBlC;;;;OAIG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IA0F9E;;;;OAIG;IACG,OAAO,CACX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,EAAE,GACnD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAwEvB,2DAA2D;IAC3D,OAAO,CAAC,aAAa;IA2BrB;;;OAGG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IASnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5C;;;;;OAKG;IACG,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD;;;;OAIG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;OAEG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhE;;;;;;;OAOG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA8BxC;;;;OAIG;IACG,UAAU,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C3D;;;;OAIG;YACW,aAAa;IAyB3B;;;;;OAKG;IACG,OAAO,CACX,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,EAC/D,KAAK,SAAI,EACT,GAAG,SAAK,GACP,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAiEvB;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAqC/D,oEAAoE;IACpE,OAAO,CAAC,eAAe;IAQvB,2DAA2D;YAC7C,iBAAiB;IAsD/B,8DAA8D;YAChD,mBAAmB;IA4BjC,mEAAmE;YACrD,UAAU;IA4CxB;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,SAAS,CAAC;IAI9C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAMlC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,EAAE,CAAC;IAc7E;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAU7F;;;;;OAKG;IACG,iBAAiB,CAAC,KAAK,SAAI,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAyBlE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
|
package/dist/queue.js
CHANGED
|
@@ -106,6 +106,7 @@ class Queue extends events_1.EventEmitter {
|
|
|
106
106
|
const parentId = opts?.parent ? opts.parent.id : '';
|
|
107
107
|
const maxAttempts = opts?.attempts ?? 0;
|
|
108
108
|
const orderingKey = opts?.ordering?.key ?? '';
|
|
109
|
+
const groupConcurrency = opts?.ordering?.concurrency ?? 0;
|
|
109
110
|
validateOrderingKey(orderingKey);
|
|
110
111
|
// Payload size validation - prevent DoS via oversized jobs
|
|
111
112
|
let serialized = JSON.stringify(data);
|
|
@@ -118,14 +119,14 @@ class Queue extends events_1.EventEmitter {
|
|
|
118
119
|
let jobId;
|
|
119
120
|
if (opts?.deduplication) {
|
|
120
121
|
const dedupOpts = opts.deduplication;
|
|
121
|
-
const result = await (0, index_1.dedup)(client, this.keys, dedupOpts.id, dedupOpts.ttl ?? 0, dedupOpts.mode ?? 'simple', name, serialized, JSON.stringify(opts), timestamp, delay, priority, parentId, maxAttempts, orderingKey);
|
|
122
|
+
const result = await (0, index_1.dedup)(client, this.keys, dedupOpts.id, dedupOpts.ttl ?? 0, dedupOpts.mode ?? 'simple', name, serialized, JSON.stringify(opts), timestamp, delay, priority, parentId, maxAttempts, orderingKey, groupConcurrency);
|
|
122
123
|
if (result === 'skipped') {
|
|
123
124
|
return null;
|
|
124
125
|
}
|
|
125
126
|
jobId = result;
|
|
126
127
|
}
|
|
127
128
|
else {
|
|
128
|
-
jobId = await (0, index_1.addJob)(client, this.keys, name, serialized, JSON.stringify(opts ?? {}), timestamp, delay, priority, parentId, maxAttempts, orderingKey);
|
|
129
|
+
jobId = await (0, index_1.addJob)(client, this.keys, name, serialized, JSON.stringify(opts ?? {}), timestamp, delay, priority, parentId, maxAttempts, orderingKey, groupConcurrency);
|
|
129
130
|
}
|
|
130
131
|
span.setAttribute('glide-mq.job.id', String(jobId));
|
|
131
132
|
const job = new job_1.Job(client, this.keys, String(jobId), name, data, opts ?? {});
|
|
@@ -159,7 +160,8 @@ class Queue extends events_1.EventEmitter {
|
|
|
159
160
|
if (this.opts.compression === 'gzip') {
|
|
160
161
|
serializedData = (0, utils_1.compress)(serializedData);
|
|
161
162
|
}
|
|
162
|
-
|
|
163
|
+
const groupConcurrency = opts.ordering?.concurrency ?? 0;
|
|
164
|
+
return { entry, opts, delay, priority, parentId, maxAttempts, orderingKey, groupConcurrency, deduplication, serializedData };
|
|
163
165
|
});
|
|
164
166
|
// Build a batch with all fcall commands
|
|
165
167
|
const keys = [this.keys.id, this.keys.stream, this.keys.scheduled, this.keys.events];
|
|
@@ -180,6 +182,7 @@ class Queue extends events_1.EventEmitter {
|
|
|
180
182
|
p.parentId,
|
|
181
183
|
p.maxAttempts.toString(),
|
|
182
184
|
p.orderingKey,
|
|
185
|
+
p.groupConcurrency.toString(),
|
|
183
186
|
]);
|
|
184
187
|
}
|
|
185
188
|
else {
|
|
@@ -193,6 +196,7 @@ class Queue extends events_1.EventEmitter {
|
|
|
193
196
|
p.parentId,
|
|
194
197
|
p.maxAttempts.toString(),
|
|
195
198
|
p.orderingKey,
|
|
199
|
+
p.groupConcurrency.toString(),
|
|
196
200
|
]);
|
|
197
201
|
}
|
|
198
202
|
}
|
|
@@ -371,6 +375,7 @@ class Queue extends events_1.EventEmitter {
|
|
|
371
375
|
this.keys.id, this.keys.stream, this.keys.scheduled,
|
|
372
376
|
this.keys.completed, this.keys.failed, this.keys.events,
|
|
373
377
|
this.keys.meta, this.keys.dedup, this.keys.rate, this.keys.schedulers,
|
|
378
|
+
this.keys.ordering,
|
|
374
379
|
];
|
|
375
380
|
await client.del(staticKeys);
|
|
376
381
|
// Scan and delete job hashes and deps sets
|
|
@@ -379,7 +384,10 @@ class Queue extends events_1.EventEmitter {
|
|
|
379
384
|
const jobPattern = `${pfx}:job:*`;
|
|
380
385
|
const logPattern = `${pfx}:log:*`;
|
|
381
386
|
const depsPattern = `${pfx}:deps:*`;
|
|
382
|
-
|
|
387
|
+
const groupPattern = `${pfx}:group:*`;
|
|
388
|
+
const groupqPattern = `${pfx}:groupq:*`;
|
|
389
|
+
const orderPendingPattern = `${pfx}:orderdone:pending:*`;
|
|
390
|
+
for (const pattern of [jobPattern, logPattern, depsPattern, groupPattern, groupqPattern, orderPendingPattern]) {
|
|
383
391
|
await this.scanAndDelete(client, pattern);
|
|
384
392
|
}
|
|
385
393
|
}
|