bunqueue 1.9.6 → 1.9.8

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 (156) hide show
  1. package/dist/application/backgroundTasks.d.ts +29 -0
  2. package/dist/application/backgroundTasks.d.ts.map +1 -0
  3. package/dist/application/backgroundTasks.js +155 -0
  4. package/dist/application/backgroundTasks.js.map +1 -0
  5. package/dist/application/cleanupTasks.d.ts +11 -0
  6. package/dist/application/cleanupTasks.d.ts.map +1 -0
  7. package/dist/application/cleanupTasks.js +216 -0
  8. package/dist/application/cleanupTasks.js.map +1 -0
  9. package/dist/application/clientTracking.d.ts +22 -0
  10. package/dist/application/clientTracking.d.ts.map +1 -0
  11. package/dist/application/clientTracking.js +122 -0
  12. package/dist/application/clientTracking.js.map +1 -0
  13. package/dist/application/contextFactory.d.ts +97 -0
  14. package/dist/application/contextFactory.d.ts.map +1 -0
  15. package/dist/application/contextFactory.js +169 -0
  16. package/dist/application/contextFactory.js.map +1 -0
  17. package/dist/application/dependencyProcessor.d.ts +11 -0
  18. package/dist/application/dependencyProcessor.d.ts.map +1 -0
  19. package/dist/application/dependencyProcessor.js +69 -0
  20. package/dist/application/dependencyProcessor.js.map +1 -0
  21. package/dist/application/dlqManager.d.ts +12 -0
  22. package/dist/application/dlqManager.d.ts.map +1 -1
  23. package/dist/application/dlqManager.js +36 -0
  24. package/dist/application/dlqManager.js.map +1 -1
  25. package/dist/application/lockManager.d.ts +15 -0
  26. package/dist/application/lockManager.d.ts.map +1 -0
  27. package/dist/application/lockManager.js +118 -0
  28. package/dist/application/lockManager.js.map +1 -0
  29. package/dist/application/lockOperations.d.ts +39 -0
  30. package/dist/application/lockOperations.d.ts.map +1 -0
  31. package/dist/application/lockOperations.js +101 -0
  32. package/dist/application/lockOperations.js.map +1 -0
  33. package/dist/application/operations/ack.d.ts +0 -5
  34. package/dist/application/operations/ack.d.ts.map +1 -1
  35. package/dist/application/operations/ack.js +30 -258
  36. package/dist/application/operations/ack.js.map +1 -1
  37. package/dist/application/operations/ackHelpers.d.ts +78 -0
  38. package/dist/application/operations/ackHelpers.d.ts.map +1 -0
  39. package/dist/application/operations/ackHelpers.js +162 -0
  40. package/dist/application/operations/ackHelpers.js.map +1 -0
  41. package/dist/application/operations/jobManagement.d.ts +2 -0
  42. package/dist/application/operations/jobManagement.d.ts.map +1 -1
  43. package/dist/application/operations/jobManagement.js +8 -0
  44. package/dist/application/operations/jobManagement.js.map +1 -1
  45. package/dist/application/operations/push.d.ts.map +1 -1
  46. package/dist/application/operations/push.js +8 -2
  47. package/dist/application/operations/push.js.map +1 -1
  48. package/dist/application/operations/queryOperations.d.ts +11 -0
  49. package/dist/application/operations/queryOperations.d.ts.map +1 -1
  50. package/dist/application/operations/queryOperations.js +32 -0
  51. package/dist/application/operations/queryOperations.js.map +1 -1
  52. package/dist/application/queueManager.d.ts +13 -183
  53. package/dist/application/queueManager.d.ts.map +1 -1
  54. package/dist/application/queueManager.js +134 -1110
  55. package/dist/application/queueManager.js.map +1 -1
  56. package/dist/application/stallDetection.d.ts +11 -0
  57. package/dist/application/stallDetection.d.ts.map +1 -0
  58. package/dist/application/stallDetection.js +128 -0
  59. package/dist/application/stallDetection.js.map +1 -0
  60. package/dist/application/statsManager.d.ts +56 -0
  61. package/dist/application/statsManager.d.ts.map +1 -0
  62. package/dist/application/statsManager.js +111 -0
  63. package/dist/application/statsManager.js.map +1 -0
  64. package/dist/application/types.d.ts +123 -0
  65. package/dist/application/types.d.ts.map +1 -0
  66. package/dist/application/types.js +16 -0
  67. package/dist/application/types.js.map +1 -0
  68. package/dist/domain/queue/dependencyTracker.d.ts +74 -0
  69. package/dist/domain/queue/dependencyTracker.d.ts.map +1 -0
  70. package/dist/domain/queue/dependencyTracker.js +126 -0
  71. package/dist/domain/queue/dependencyTracker.js.map +1 -0
  72. package/dist/domain/queue/dlqShard.d.ts +59 -0
  73. package/dist/domain/queue/dlqShard.d.ts.map +1 -0
  74. package/dist/domain/queue/dlqShard.js +165 -0
  75. package/dist/domain/queue/dlqShard.js.map +1 -0
  76. package/dist/domain/queue/limiterManager.d.ts +44 -0
  77. package/dist/domain/queue/limiterManager.d.ts.map +1 -0
  78. package/dist/domain/queue/limiterManager.js +99 -0
  79. package/dist/domain/queue/limiterManager.js.map +1 -0
  80. package/dist/domain/queue/shard.d.ts +29 -122
  81. package/dist/domain/queue/shard.d.ts.map +1 -1
  82. package/dist/domain/queue/shard.js +152 -426
  83. package/dist/domain/queue/shard.js.map +1 -1
  84. package/dist/domain/queue/temporalManager.d.ts +81 -0
  85. package/dist/domain/queue/temporalManager.d.ts.map +1 -0
  86. package/dist/domain/queue/temporalManager.js +149 -0
  87. package/dist/domain/queue/temporalManager.js.map +1 -0
  88. package/dist/domain/queue/uniqueKeyManager.d.ts +32 -0
  89. package/dist/domain/queue/uniqueKeyManager.d.ts.map +1 -0
  90. package/dist/domain/queue/uniqueKeyManager.js +87 -0
  91. package/dist/domain/queue/uniqueKeyManager.js.map +1 -0
  92. package/dist/infrastructure/backup/s3Backup.d.ts +3 -40
  93. package/dist/infrastructure/backup/s3Backup.d.ts.map +1 -1
  94. package/dist/infrastructure/backup/s3Backup.js +10 -182
  95. package/dist/infrastructure/backup/s3Backup.js.map +1 -1
  96. package/dist/infrastructure/backup/s3BackupConfig.d.ts +67 -0
  97. package/dist/infrastructure/backup/s3BackupConfig.d.ts.map +1 -0
  98. package/dist/infrastructure/backup/s3BackupConfig.js +48 -0
  99. package/dist/infrastructure/backup/s3BackupConfig.js.map +1 -0
  100. package/dist/infrastructure/backup/s3BackupOperations.d.ts +23 -0
  101. package/dist/infrastructure/backup/s3BackupOperations.d.ts.map +1 -0
  102. package/dist/infrastructure/backup/s3BackupOperations.js +170 -0
  103. package/dist/infrastructure/backup/s3BackupOperations.js.map +1 -0
  104. package/dist/infrastructure/persistence/sqlite.d.ts +4 -13
  105. package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
  106. package/dist/infrastructure/persistence/sqlite.js +23 -178
  107. package/dist/infrastructure/persistence/sqlite.js.map +1 -1
  108. package/dist/infrastructure/persistence/sqliteBatch.d.ts +38 -0
  109. package/dist/infrastructure/persistence/sqliteBatch.d.ts.map +1 -0
  110. package/dist/infrastructure/persistence/sqliteBatch.js +124 -0
  111. package/dist/infrastructure/persistence/sqliteBatch.js.map +1 -0
  112. package/dist/infrastructure/persistence/sqliteSerializer.d.ts +17 -0
  113. package/dist/infrastructure/persistence/sqliteSerializer.d.ts.map +1 -0
  114. package/dist/infrastructure/persistence/sqliteSerializer.js +81 -0
  115. package/dist/infrastructure/persistence/sqliteSerializer.js.map +1 -0
  116. package/dist/infrastructure/server/handler.d.ts.map +1 -1
  117. package/dist/infrastructure/server/handler.js +1 -186
  118. package/dist/infrastructure/server/handler.js.map +1 -1
  119. package/dist/infrastructure/server/handlerRoutes.d.ts +23 -0
  120. package/dist/infrastructure/server/handlerRoutes.d.ts.map +1 -0
  121. package/dist/infrastructure/server/handlerRoutes.js +190 -0
  122. package/dist/infrastructure/server/handlerRoutes.js.map +1 -0
  123. package/dist/infrastructure/server/http.d.ts +4 -25
  124. package/dist/infrastructure/server/http.d.ts.map +1 -1
  125. package/dist/infrastructure/server/http.js +43 -285
  126. package/dist/infrastructure/server/http.js.map +1 -1
  127. package/dist/infrastructure/server/httpEndpoints.d.ts +19 -0
  128. package/dist/infrastructure/server/httpEndpoints.d.ts.map +1 -0
  129. package/dist/infrastructure/server/httpEndpoints.js +151 -0
  130. package/dist/infrastructure/server/httpEndpoints.js.map +1 -0
  131. package/dist/infrastructure/server/sseHandler.d.ts +27 -0
  132. package/dist/infrastructure/server/sseHandler.d.ts.map +1 -0
  133. package/dist/infrastructure/server/sseHandler.js +77 -0
  134. package/dist/infrastructure/server/sseHandler.js.map +1 -0
  135. package/dist/infrastructure/server/tcp.d.ts.map +1 -1
  136. package/dist/infrastructure/server/tcp.js +14 -8
  137. package/dist/infrastructure/server/tcp.js.map +1 -1
  138. package/dist/infrastructure/server/wsHandler.d.ts +31 -0
  139. package/dist/infrastructure/server/wsHandler.d.ts.map +1 -0
  140. package/dist/infrastructure/server/wsHandler.js +63 -0
  141. package/dist/infrastructure/server/wsHandler.js.map +1 -0
  142. package/dist/mcp/index.js +3 -465
  143. package/dist/mcp/index.js.map +1 -1
  144. package/dist/mcp/mcpHandlers.d.ts +129 -0
  145. package/dist/mcp/mcpHandlers.d.ts.map +1 -0
  146. package/dist/mcp/mcpHandlers.js +204 -0
  147. package/dist/mcp/mcpHandlers.js.map +1 -0
  148. package/dist/mcp/mcpTools.d.ts +15 -0
  149. package/dist/mcp/mcpTools.d.ts.map +1 -0
  150. package/dist/mcp/mcpTools.js +277 -0
  151. package/dist/mcp/mcpTools.js.map +1 -0
  152. package/package.json +2 -2
  153. package/dist/cli/dashboard.d.ts +0 -32
  154. package/dist/cli/dashboard.d.ts.map +0 -1
  155. package/dist/cli/dashboard.js +0 -183
  156. package/dist/cli/dashboard.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"queueManager.js","sourceRoot":"","sources":["../../src/application/queueManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queueManager.js","sourceRoot":"","sources":["../../src/application/queueManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Stall Detection - Job stall detection and recovery
3
+ * Uses two-phase detection (like BullMQ) to prevent false positives
4
+ */
5
+ import type { BackgroundContext } from './types';
6
+ /**
7
+ * Check for stalled jobs and handle them
8
+ * Uses two-phase detection to prevent false positives
9
+ */
10
+ export declare function checkStalledJobs(ctx: BackgroundContext): void;
11
+ //# sourceMappingURL=stallDetection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stallDetection.d.ts","sourceRoot":"","sources":["../../src/application/stallDetection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAoD7D"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Stall Detection - Job stall detection and recovery
3
+ * Uses two-phase detection (like BullMQ) to prevent false positives
4
+ */
5
+ import { calculateBackoff } from '../domain/types/job';
6
+ import { getStallAction, incrementStallCount } from '../domain/types/stall';
7
+ import { queueLog } from '../shared/logger';
8
+ import { shardIndex, processingShardIndex, SHARD_COUNT } from '../shared/hash';
9
+ import { withWriteLock } from '../shared/lock';
10
+ /**
11
+ * Check for stalled jobs and handle them
12
+ * Uses two-phase detection to prevent false positives
13
+ */
14
+ export function checkStalledJobs(ctx) {
15
+ const now = Date.now();
16
+ const confirmedStalled = [];
17
+ // Phase 1: Check jobs that were candidates from previous cycle
18
+ for (const jobId of ctx.stalledCandidates) {
19
+ const procIdx = processingShardIndex(String(jobId));
20
+ const job = ctx.processingShards[procIdx].get(jobId);
21
+ if (!job) {
22
+ ctx.stalledCandidates.delete(jobId);
23
+ continue;
24
+ }
25
+ const stallConfig = ctx.shards[shardIndex(job.queue)].getStallConfig(job.queue);
26
+ if (!stallConfig.enabled) {
27
+ ctx.stalledCandidates.delete(jobId);
28
+ continue;
29
+ }
30
+ const action = getStallAction(job, stallConfig, now);
31
+ if (action !== "keep" /* StallAction.Keep */) {
32
+ confirmedStalled.push({ job, action });
33
+ }
34
+ ctx.stalledCandidates.delete(jobId);
35
+ }
36
+ // Phase 2: Mark current processing jobs as candidates for NEXT check
37
+ for (let i = 0; i < SHARD_COUNT; i++) {
38
+ const procShard = ctx.processingShards[i];
39
+ for (const [jobId, job] of procShard) {
40
+ const stallConfig = ctx.shards[shardIndex(job.queue)].getStallConfig(job.queue);
41
+ if (!stallConfig.enabled)
42
+ continue;
43
+ const action = getStallAction(job, stallConfig, now);
44
+ if (action !== "keep" /* StallAction.Keep */) {
45
+ ctx.stalledCandidates.add(jobId);
46
+ }
47
+ }
48
+ }
49
+ // Process confirmed stalled jobs
50
+ for (const { job, action } of confirmedStalled) {
51
+ handleStalledJob(job, action, ctx).catch((err) => {
52
+ queueLog.error('Failed to handle stalled job', {
53
+ jobId: String(job.id),
54
+ error: String(err),
55
+ });
56
+ });
57
+ }
58
+ }
59
+ /**
60
+ * Handle a stalled job based on the action
61
+ * Uses proper locking to prevent race conditions
62
+ */
63
+ async function handleStalledJob(job, action, ctx) {
64
+ const idx = shardIndex(job.queue);
65
+ const procIdx = processingShardIndex(String(job.id));
66
+ // Broadcast events before acquiring locks (non-blocking)
67
+ ctx.eventsManager.broadcast({
68
+ eventType: "stalled" /* EventType.Stalled */,
69
+ queue: job.queue,
70
+ jobId: job.id,
71
+ timestamp: Date.now(),
72
+ data: { stallCount: job.stallCount + 1, action },
73
+ });
74
+ void ctx.webhookManager.trigger('stalled', String(job.id), job.queue, {
75
+ data: { stallCount: job.stallCount + 1, action },
76
+ });
77
+ // Acquire processing lock first, then shard lock
78
+ await withWriteLock(ctx.processingLocks[procIdx], async () => {
79
+ // Verify job is still in processing (might have been handled already)
80
+ if (!ctx.processingShards[procIdx].has(job.id)) {
81
+ return;
82
+ }
83
+ await withWriteLock(ctx.shardLocks[idx], () => {
84
+ const shard = ctx.shards[idx];
85
+ if (action === "move_to_dlq" /* StallAction.MoveToDlq */) {
86
+ moveStalliedJobToDlq(job, ctx, shard, procIdx, idx);
87
+ }
88
+ else {
89
+ retryStalliedJob(job, ctx, shard, procIdx, idx);
90
+ }
91
+ });
92
+ });
93
+ }
94
+ /** Move stalled job to DLQ */
95
+ function moveStalliedJobToDlq(job, ctx, shard, procIdx, _idx) {
96
+ queueLog.warn('Job exceeded max stalls, moving to DLQ', {
97
+ jobId: String(job.id),
98
+ queue: job.queue,
99
+ stallCount: job.stallCount,
100
+ });
101
+ ctx.processingShards[procIdx].delete(job.id);
102
+ shard.releaseConcurrency(job.queue);
103
+ const entry = shard.addToDlq(job, "stalled" /* FailureReason.Stalled */, `Job stalled ${job.stallCount + 1} times`);
104
+ ctx.jobIndex.set(job.id, { type: 'dlq', queueName: job.queue });
105
+ ctx.storage?.saveDlqEntry(entry);
106
+ }
107
+ /** Retry stalled job */
108
+ function retryStalliedJob(job, ctx, shard, procIdx, idx) {
109
+ incrementStallCount(job);
110
+ job.attempts++;
111
+ job.startedAt = null;
112
+ job.runAt = Date.now() + calculateBackoff(job);
113
+ job.lastHeartbeat = Date.now();
114
+ queueLog.warn('Job stalled, retrying', {
115
+ jobId: String(job.id),
116
+ queue: job.queue,
117
+ stallCount: job.stallCount,
118
+ attempt: job.attempts,
119
+ });
120
+ ctx.processingShards[procIdx].delete(job.id);
121
+ shard.releaseConcurrency(job.queue);
122
+ shard.getQueue(job.queue).push(job);
123
+ const isDelayed = job.runAt > Date.now();
124
+ shard.incrementQueued(job.id, isDelayed, job.createdAt, job.queue, job.runAt);
125
+ ctx.jobIndex.set(job.id, { type: 'queue', shardIdx: idx, queueName: job.queue });
126
+ ctx.storage?.updateForRetry(job);
127
+ }
128
+ //# sourceMappingURL=stallDetection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stallDetection.js","sourceRoot":"","sources":["../../src/application/stallDetection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Stats Manager - Queue statistics and memory management
3
+ * Provides system metrics and memory compaction utilities
4
+ */
5
+ import type { StatsContext } from './types';
6
+ export interface QueueStats {
7
+ waiting: number;
8
+ delayed: number;
9
+ active: number;
10
+ dlq: number;
11
+ completed: number;
12
+ totalPushed: bigint;
13
+ totalPulled: bigint;
14
+ totalCompleted: bigint;
15
+ totalFailed: bigint;
16
+ uptime: number;
17
+ cronJobs: number;
18
+ cronPending: number;
19
+ }
20
+ export interface MemoryStats {
21
+ jobIndex: number;
22
+ completedJobs: number;
23
+ jobResults: number;
24
+ jobLogs: number;
25
+ customIdMap: number;
26
+ jobLocks: number;
27
+ clientJobs: number;
28
+ clientJobsTotal: number;
29
+ pendingDepChecks: number;
30
+ stalledCandidates: number;
31
+ processingTotal: number;
32
+ queuedTotal: number;
33
+ waitingDepsTotal: number;
34
+ temporalIndexTotal: number;
35
+ delayedHeapTotal: number;
36
+ }
37
+ /**
38
+ * Get queue statistics - O(32) using running counters
39
+ */
40
+ export declare function getStats(ctx: StatsContext, cronScheduler: {
41
+ getStats(): {
42
+ total: number;
43
+ pending: number;
44
+ };
45
+ }): QueueStats;
46
+ /**
47
+ * Get detailed memory statistics for debugging memory issues.
48
+ * Returns counts of entries in all major collections.
49
+ */
50
+ export declare function getMemoryStats(ctx: StatsContext): MemoryStats;
51
+ /**
52
+ * Force compact all collections to reduce memory usage.
53
+ * Use after large batch operations or when memory pressure is high.
54
+ */
55
+ export declare function compactMemory(ctx: StatsContext): void;
56
+ //# sourceMappingURL=statsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statsManager.d.ts","sourceRoot":"","sources":["../../src/application/statsManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,YAAY,EACjB,aAAa,EAAE;IAAE,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChE,UAAU,CAkCZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAyC7D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CA2BrD"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Stats Manager - Queue statistics and memory management
3
+ * Provides system metrics and memory compaction utilities
4
+ */
5
+ import { SHARD_COUNT } from '../shared/hash';
6
+ import { queueLog } from '../shared/logger';
7
+ /**
8
+ * Get queue statistics - O(32) using running counters
9
+ */
10
+ export function getStats(ctx, cronScheduler) {
11
+ let waiting = 0, delayed = 0, active = 0, dlq = 0;
12
+ // O(32) instead of O(n) - use running counters from each shard
13
+ for (let i = 0; i < SHARD_COUNT; i++) {
14
+ const shardStats = ctx.shards[i].getStats();
15
+ const queuedTotal = shardStats.queuedJobs;
16
+ const delayedInShard = shardStats.delayedJobs;
17
+ // waiting = queued jobs that are not delayed
18
+ waiting += Math.max(0, queuedTotal - delayedInShard);
19
+ delayed += delayedInShard;
20
+ dlq += shardStats.dlqJobs;
21
+ active += ctx.processingShards[i].size;
22
+ }
23
+ const cronStats = cronScheduler.getStats();
24
+ return {
25
+ waiting,
26
+ delayed,
27
+ active,
28
+ dlq,
29
+ completed: ctx.completedJobs.size,
30
+ totalPushed: ctx.metrics.totalPushed.value,
31
+ totalPulled: ctx.metrics.totalPulled.value,
32
+ totalCompleted: ctx.metrics.totalCompleted.value,
33
+ totalFailed: ctx.metrics.totalFailed.value,
34
+ uptime: Date.now() - ctx.startTime,
35
+ cronJobs: cronStats.total,
36
+ cronPending: cronStats.pending,
37
+ };
38
+ }
39
+ /**
40
+ * Get detailed memory statistics for debugging memory issues.
41
+ * Returns counts of entries in all major collections.
42
+ */
43
+ export function getMemoryStats(ctx) {
44
+ let processingTotal = 0;
45
+ let queuedTotal = 0;
46
+ let waitingDepsTotal = 0;
47
+ let temporalIndexTotal = 0;
48
+ let delayedHeapTotal = 0;
49
+ for (let i = 0; i < SHARD_COUNT; i++) {
50
+ processingTotal += ctx.processingShards[i].size;
51
+ const shardStats = ctx.shards[i].getStats();
52
+ queuedTotal += shardStats.queuedJobs;
53
+ waitingDepsTotal += ctx.shards[i].waitingDeps.size;
54
+ // Get internal structure sizes
55
+ const internalSizes = ctx.shards[i].getInternalSizes();
56
+ temporalIndexTotal += internalSizes.temporalIndex;
57
+ delayedHeapTotal += internalSizes.delayedHeap;
58
+ }
59
+ // Count total jobs across all clients
60
+ let clientJobsTotal = 0;
61
+ for (const jobs of ctx.clientJobs.values()) {
62
+ clientJobsTotal += jobs.size;
63
+ }
64
+ return {
65
+ jobIndex: ctx.jobIndex.size,
66
+ completedJobs: ctx.completedJobs.size,
67
+ jobResults: ctx.jobResults.size,
68
+ jobLogs: ctx.jobLogs.size,
69
+ customIdMap: ctx.customIdMap.size,
70
+ jobLocks: ctx.jobLocks.size,
71
+ clientJobs: ctx.clientJobs.size,
72
+ clientJobsTotal,
73
+ pendingDepChecks: ctx.pendingDepChecks.size,
74
+ stalledCandidates: ctx.stalledCandidates.size,
75
+ processingTotal,
76
+ queuedTotal,
77
+ waitingDepsTotal,
78
+ temporalIndexTotal,
79
+ delayedHeapTotal,
80
+ };
81
+ }
82
+ /**
83
+ * Force compact all collections to reduce memory usage.
84
+ * Use after large batch operations or when memory pressure is high.
85
+ */
86
+ export function compactMemory(ctx) {
87
+ // Compact priority queues that have high stale ratios
88
+ for (let i = 0; i < SHARD_COUNT; i++) {
89
+ for (const q of ctx.shards[i].queues.values()) {
90
+ if (q.needsCompaction(0.1)) {
91
+ // More aggressive: 10% stale threshold
92
+ q.compact();
93
+ }
94
+ }
95
+ }
96
+ // Clean up empty client tracking entries
97
+ for (const [clientId, jobs] of ctx.clientJobs) {
98
+ if (jobs.size === 0) {
99
+ ctx.clientJobs.delete(clientId);
100
+ }
101
+ }
102
+ // Clean orphaned job locks (jobs no longer in processing)
103
+ for (const jobId of ctx.jobLocks.keys()) {
104
+ const loc = ctx.jobIndex.get(jobId);
105
+ if (loc?.type !== 'processing') {
106
+ ctx.jobLocks.delete(jobId);
107
+ }
108
+ }
109
+ queueLog.info('Memory compacted');
110
+ }
111
+ //# sourceMappingURL=statsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statsManager.js","sourceRoot":"","sources":["../../src/application/statsManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Shared types for QueueManager modules
3
+ */
4
+ import type { Job, JobId, JobLock } from '../domain/types/job';
5
+ import type { JobLocation } from '../domain/types/queue';
6
+ import type { JobLogEntry } from '../domain/types/worker';
7
+ import type { Shard } from '../domain/queue/shard';
8
+ import type { SqliteStorage } from '../infrastructure/persistence/sqlite';
9
+ import type { RWLock } from '../shared/lock';
10
+ import type { LRUMap, BoundedSet, BoundedMap, SetLike } from '../shared/lru';
11
+ import type { EventsManager } from './eventsManager';
12
+ import type { WebhookManager } from './webhookManager';
13
+ /** Queue Manager configuration */
14
+ export interface QueueManagerConfig {
15
+ dataPath?: string;
16
+ maxCompletedJobs?: number;
17
+ maxJobResults?: number;
18
+ maxJobLogs?: number;
19
+ maxCustomIds?: number;
20
+ maxWaitingDeps?: number;
21
+ cleanupIntervalMs?: number;
22
+ jobTimeoutCheckMs?: number;
23
+ dependencyCheckMs?: number;
24
+ stallCheckMs?: number;
25
+ dlqMaintenanceMs?: number;
26
+ }
27
+ export declare const DEFAULT_CONFIG: {
28
+ maxCompletedJobs: number;
29
+ maxJobResults: number;
30
+ maxJobLogs: number;
31
+ maxCustomIds: number;
32
+ maxWaitingDeps: number;
33
+ cleanupIntervalMs: number;
34
+ jobTimeoutCheckMs: number;
35
+ dependencyCheckMs: number;
36
+ stallCheckMs: number;
37
+ dlqMaintenanceMs: number;
38
+ };
39
+ /** Shared state accessible by all modules */
40
+ export interface QueueManagerState {
41
+ readonly config: typeof DEFAULT_CONFIG & {
42
+ dataPath?: string;
43
+ };
44
+ readonly storage: SqliteStorage | null;
45
+ readonly shards: Shard[];
46
+ readonly shardLocks: RWLock[];
47
+ readonly processingShards: Map<JobId, Job>[];
48
+ readonly processingLocks: RWLock[];
49
+ readonly jobIndex: Map<JobId, JobLocation>;
50
+ readonly completedJobs: BoundedSet<JobId>;
51
+ readonly jobResults: BoundedMap<JobId, unknown>;
52
+ readonly customIdMap: LRUMap<string, JobId>;
53
+ readonly jobLogs: LRUMap<JobId, JobLogEntry[]>;
54
+ readonly jobLocks: Map<JobId, JobLock>;
55
+ readonly clientJobs: Map<string, Set<JobId>>;
56
+ readonly stalledCandidates: Set<JobId>;
57
+ readonly pendingDepChecks: Set<JobId>;
58
+ readonly queueNamesCache: Set<string>;
59
+ readonly eventsManager: EventsManager;
60
+ readonly webhookManager: WebhookManager;
61
+ readonly metrics: {
62
+ totalPushed: {
63
+ value: bigint;
64
+ };
65
+ totalPulled: {
66
+ value: bigint;
67
+ };
68
+ totalCompleted: {
69
+ value: bigint;
70
+ };
71
+ totalFailed: {
72
+ value: bigint;
73
+ };
74
+ };
75
+ readonly startTime: number;
76
+ }
77
+ /** Context for lock operations */
78
+ export interface LockContext {
79
+ jobIndex: Map<JobId, JobLocation>;
80
+ jobLocks: Map<JobId, JobLock>;
81
+ clientJobs: Map<string, Set<JobId>>;
82
+ processingShards: Map<JobId, Job>[];
83
+ processingLocks: RWLock[];
84
+ shards: Shard[];
85
+ shardLocks: RWLock[];
86
+ eventsManager: EventsManager;
87
+ }
88
+ /** Context for background tasks */
89
+ export interface BackgroundContext extends QueueManagerState {
90
+ fail: (jobId: JobId, error?: string) => Promise<void>;
91
+ registerQueueName: (queue: string) => void;
92
+ unregisterQueueName: (queue: string) => void;
93
+ }
94
+ /** Context for stats operations */
95
+ export interface StatsContext {
96
+ shards: Shard[];
97
+ processingShards: Map<JobId, Job>[];
98
+ completedJobs: SetLike<JobId>;
99
+ jobIndex: Map<JobId, JobLocation>;
100
+ jobResults: BoundedMap<JobId, unknown>;
101
+ jobLogs: LRUMap<JobId, JobLogEntry[]>;
102
+ customIdMap: LRUMap<string, JobId>;
103
+ jobLocks: Map<JobId, JobLock>;
104
+ clientJobs: Map<string, Set<JobId>>;
105
+ pendingDepChecks: Set<JobId>;
106
+ stalledCandidates: Set<JobId>;
107
+ metrics: {
108
+ totalPushed: {
109
+ value: bigint;
110
+ };
111
+ totalPulled: {
112
+ value: bigint;
113
+ };
114
+ totalCompleted: {
115
+ value: bigint;
116
+ };
117
+ totalFailed: {
118
+ value: bigint;
119
+ };
120
+ };
121
+ startTime: number;
122
+ }
123
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/application/types.ts"],"names":[],"mappings":"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"}