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.
@@ -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 = '15';
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 orderingKey ~= '' then
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 orderingKey ~= '' then
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 result = await client.fcall('glidemq_moveToActive', [k.job(jobId)], [timestamp.toString()]);
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":"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"}
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":"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"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
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
- return { entry, opts, delay, priority, parentId, maxAttempts, orderingKey, deduplication, serializedData };
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
- for (const pattern of [jobPattern, logPattern, depsPattern]) {
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
  }