bunqueue 1.1.3 → 1.2.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/README.md +37 -0
- package/dist/application/dlqManager.d.ts.map +1 -1
- package/dist/application/dlqManager.js +11 -3
- package/dist/application/dlqManager.js.map +1 -1
- package/dist/application/eventsManager.d.ts +10 -1
- package/dist/application/eventsManager.d.ts.map +1 -1
- package/dist/application/eventsManager.js +91 -21
- package/dist/application/eventsManager.js.map +1 -1
- package/dist/application/operations/ack.d.ts +16 -1
- package/dist/application/operations/ack.d.ts.map +1 -1
- package/dist/application/operations/ack.js +269 -5
- package/dist/application/operations/ack.js.map +1 -1
- package/dist/application/operations/jobManagement.d.ts.map +1 -1
- package/dist/application/operations/jobManagement.js +17 -3
- package/dist/application/operations/jobManagement.js.map +1 -1
- package/dist/application/operations/pull.d.ts +1 -0
- package/dist/application/operations/pull.d.ts.map +1 -1
- package/dist/application/operations/pull.js +106 -8
- package/dist/application/operations/pull.js.map +1 -1
- package/dist/application/operations/push.d.ts.map +1 -1
- package/dist/application/operations/push.js +9 -0
- package/dist/application/operations/push.js.map +1 -1
- package/dist/application/operations/queueControl.d.ts +4 -1
- package/dist/application/operations/queueControl.d.ts.map +1 -1
- package/dist/application/operations/queueControl.js +16 -13
- package/dist/application/operations/queueControl.js.map +1 -1
- package/dist/application/queueManager.d.ts +28 -2
- package/dist/application/queueManager.d.ts.map +1 -1
- package/dist/application/queueManager.js +132 -34
- package/dist/application/queueManager.js.map +1 -1
- package/dist/application/webhookManager.d.ts +7 -1
- package/dist/application/webhookManager.d.ts.map +1 -1
- package/dist/application/webhookManager.js +38 -6
- package/dist/application/webhookManager.js.map +1 -1
- package/dist/application/workerManager.d.ts +5 -1
- package/dist/application/workerManager.d.ts.map +1 -1
- package/dist/application/workerManager.js +35 -10
- package/dist/application/workerManager.js.map +1 -1
- package/dist/bunqueue +0 -0
- package/dist/cli/commands/backup.d.ts +20 -0
- package/dist/cli/commands/backup.d.ts.map +1 -0
- package/dist/cli/commands/backup.js +143 -0
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +6 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +27 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/domain/queue/priorityQueue.d.ts +15 -0
- package/dist/domain/queue/priorityQueue.d.ts.map +1 -1
- package/dist/domain/queue/priorityQueue.js +40 -0
- package/dist/domain/queue/priorityQueue.js.map +1 -1
- package/dist/domain/queue/shard.d.ts +67 -0
- package/dist/domain/queue/shard.d.ts.map +1 -1
- package/dist/domain/queue/shard.js +198 -0
- package/dist/domain/queue/shard.js.map +1 -1
- package/dist/infrastructure/backup/index.d.ts +5 -0
- package/dist/infrastructure/backup/index.d.ts.map +1 -0
- package/dist/infrastructure/backup/index.js +5 -0
- package/dist/infrastructure/backup/index.js.map +1 -0
- package/dist/infrastructure/backup/s3Backup.d.ts +101 -0
- package/dist/infrastructure/backup/s3Backup.d.ts.map +1 -0
- package/dist/infrastructure/backup/s3Backup.js +313 -0
- package/dist/infrastructure/backup/s3Backup.js.map +1 -0
- package/dist/infrastructure/persistence/sqlite.d.ts +3 -1
- package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqlite.js +25 -4
- package/dist/infrastructure/persistence/sqlite.js.map +1 -1
- package/dist/infrastructure/scheduler/cronScheduler.d.ts +7 -0
- package/dist/infrastructure/scheduler/cronScheduler.d.ts.map +1 -1
- package/dist/infrastructure/scheduler/cronScheduler.js +49 -18
- package/dist/infrastructure/scheduler/cronScheduler.js.map +1 -1
- package/dist/infrastructure/server/handlers/advanced.d.ts +1 -1
- package/dist/infrastructure/server/handlers/advanced.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/advanced.js +14 -11
- package/dist/infrastructure/server/handlers/advanced.js.map +1 -1
- package/dist/infrastructure/server/handlers/core.d.ts +2 -2
- package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/core.js +6 -12
- package/dist/infrastructure/server/handlers/core.js.map +1 -1
- package/dist/infrastructure/server/http.d.ts.map +1 -1
- package/dist/infrastructure/server/http.js +22 -27
- package/dist/infrastructure/server/http.js.map +1 -1
- package/dist/infrastructure/server/rateLimiter.d.ts +4 -3
- package/dist/infrastructure/server/rateLimiter.d.ts.map +1 -1
- package/dist/infrastructure/server/rateLimiter.js +71 -19
- package/dist/infrastructure/server/rateLimiter.js.map +1 -1
- package/dist/main.js +18 -0
- package/dist/main.js.map +1 -1
- package/dist/shared/hash.d.ts +4 -4
- package/dist/shared/hash.d.ts.map +1 -1
- package/dist/shared/hash.js +20 -4
- package/dist/shared/hash.js.map +1 -1
- package/dist/shared/lock.d.ts +7 -1
- package/dist/shared/lock.d.ts.map +1 -1
- package/dist/shared/lock.js +75 -40
- package/dist/shared/lock.js.map +1 -1
- package/dist/shared/logger.d.ts +1 -0
- package/dist/shared/logger.d.ts.map +1 -1
- package/dist/shared/logger.js +1 -0
- package/dist/shared/logger.js.map +1 -1
- package/dist/shared/lru.d.ts +55 -0
- package/dist/shared/lru.d.ts.map +1 -1
- package/dist/shared/lru.js +165 -2
- package/dist/shared/lru.js.map +1 -1
- package/dist/shared/minHeap.d.ts +35 -0
- package/dist/shared/minHeap.d.ts.map +1 -0
- package/dist/shared/minHeap.js +116 -0
- package/dist/shared/minHeap.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Queue Manager
|
|
3
3
|
* Core orchestrator for all queue operations
|
|
4
4
|
*/
|
|
5
|
-
import { isDelayed } from '../domain/types/job';
|
|
6
5
|
import { queueLog } from '../shared/logger';
|
|
7
6
|
import { Shard } from '../domain/queue/shard';
|
|
8
7
|
import { SqliteStorage } from '../infrastructure/persistence/sqlite';
|
|
@@ -13,15 +12,15 @@ import { EventsManager } from './eventsManager';
|
|
|
13
12
|
import { RWLock, withWriteLock } from '../shared/lock';
|
|
14
13
|
import { shardIndex, SHARD_COUNT } from '../shared/hash';
|
|
15
14
|
import { pushJob, pushJobBatch } from './operations/push';
|
|
16
|
-
import { pullJob } from './operations/pull';
|
|
17
|
-
import { ackJob, failJob } from './operations/ack';
|
|
15
|
+
import { pullJob, pullJobBatch } from './operations/pull';
|
|
16
|
+
import { ackJob, ackJobBatch, ackJobBatchWithResults, failJob, } from './operations/ack';
|
|
18
17
|
import * as queueControl from './operations/queueControl';
|
|
19
18
|
import * as jobMgmt from './operations/jobManagement';
|
|
20
19
|
import * as queryOps from './operations/queryOperations';
|
|
21
20
|
import * as dlqOps from './dlqManager';
|
|
22
21
|
import * as logsOps from './jobLogsManager';
|
|
23
22
|
import { generatePrometheusMetrics } from './metricsExporter';
|
|
24
|
-
import { LRUMap,
|
|
23
|
+
import { LRUMap, BoundedSet, BoundedMap } from '../shared/lru';
|
|
25
24
|
const DEFAULT_CONFIG = {
|
|
26
25
|
maxCompletedJobs: 50_000,
|
|
27
26
|
maxJobResults: 5_000,
|
|
@@ -71,14 +70,16 @@ export class QueueManager {
|
|
|
71
70
|
// Background intervals
|
|
72
71
|
cleanupInterval = null;
|
|
73
72
|
timeoutInterval = null;
|
|
73
|
+
// Queue names cache for O(1) listQueues instead of O(32 * queues)
|
|
74
|
+
queueNamesCache = new Set();
|
|
74
75
|
constructor(config = {}) {
|
|
75
76
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
76
77
|
this.storage = config.dataPath ? new SqliteStorage({ path: config.dataPath }) : null;
|
|
77
|
-
// Initialize bounded collections
|
|
78
|
-
this.completedJobs = new
|
|
78
|
+
// Initialize bounded collections - BoundedSet is faster for completedJobs (no recency tracking needed)
|
|
79
|
+
this.completedJobs = new BoundedSet(this.config.maxCompletedJobs, (jobId) => {
|
|
79
80
|
this.jobIndex.delete(jobId);
|
|
80
81
|
});
|
|
81
|
-
this.jobResults = new
|
|
82
|
+
this.jobResults = new BoundedMap(this.config.maxJobResults);
|
|
82
83
|
this.customIdMap = new LRUMap(this.config.maxCustomIds);
|
|
83
84
|
this.jobLogs = new LRUMap(this.config.maxJobLogs);
|
|
84
85
|
// Initialize shards
|
|
@@ -140,6 +141,9 @@ export class QueueManager {
|
|
|
140
141
|
totalFailed: this.metrics.totalFailed,
|
|
141
142
|
broadcast: this.eventsManager.broadcast.bind(this.eventsManager),
|
|
142
143
|
onJobCompleted: this.onJobCompleted.bind(this),
|
|
144
|
+
onJobsCompleted: this.onJobsCompleted.bind(this),
|
|
145
|
+
needsBroadcast: this.eventsManager.needsBroadcast.bind(this.eventsManager),
|
|
146
|
+
hasPendingDeps: this.hasPendingDeps.bind(this),
|
|
143
147
|
};
|
|
144
148
|
}
|
|
145
149
|
getJobMgmtContext() {
|
|
@@ -168,17 +172,33 @@ export class QueueManager {
|
|
|
168
172
|
}
|
|
169
173
|
// ============ Core Operations ============
|
|
170
174
|
async push(queue, input) {
|
|
175
|
+
// Register queue name in cache for O(1) listQueues
|
|
176
|
+
this.registerQueueName(queue);
|
|
171
177
|
return pushJob(queue, input, this.getPushContext());
|
|
172
178
|
}
|
|
173
179
|
async pushBatch(queue, inputs) {
|
|
180
|
+
// Register queue name in cache for O(1) listQueues
|
|
181
|
+
this.registerQueueName(queue);
|
|
174
182
|
return pushJobBatch(queue, inputs, this.getPushContext());
|
|
175
183
|
}
|
|
176
184
|
async pull(queue, timeoutMs = 0) {
|
|
177
185
|
return pullJob(queue, timeoutMs, this.getPullContext());
|
|
178
186
|
}
|
|
187
|
+
/** Pull multiple jobs in single lock acquisition - O(1) instead of O(n) locks */
|
|
188
|
+
async pullBatch(queue, count, timeoutMs = 0) {
|
|
189
|
+
return pullJobBatch(queue, count, timeoutMs, this.getPullContext());
|
|
190
|
+
}
|
|
179
191
|
async ack(jobId, result) {
|
|
180
192
|
return ackJob(jobId, result, this.getAckContext());
|
|
181
193
|
}
|
|
194
|
+
/** Acknowledge multiple jobs in parallel with Promise.all */
|
|
195
|
+
async ackBatch(jobIds) {
|
|
196
|
+
return ackJobBatch(jobIds, this.getAckContext());
|
|
197
|
+
}
|
|
198
|
+
/** Acknowledge multiple jobs with individual results - batch optimized */
|
|
199
|
+
async ackBatchWithResults(items) {
|
|
200
|
+
return ackJobBatchWithResults(items, this.getAckContext());
|
|
201
|
+
}
|
|
182
202
|
async fail(jobId, error) {
|
|
183
203
|
return failJob(jobId, error, this.getAckContext());
|
|
184
204
|
}
|
|
@@ -213,9 +233,20 @@ export class QueueManager {
|
|
|
213
233
|
}
|
|
214
234
|
obliterate(queue) {
|
|
215
235
|
queueControl.obliterateQueue(queue, { shards: this.shards, jobIndex: this.jobIndex });
|
|
236
|
+
// Remove from cache
|
|
237
|
+
this.unregisterQueueName(queue);
|
|
216
238
|
}
|
|
217
239
|
listQueues() {
|
|
218
|
-
|
|
240
|
+
// O(1) using cache instead of O(32 * queues) iterating all shards
|
|
241
|
+
return Array.from(this.queueNamesCache);
|
|
242
|
+
}
|
|
243
|
+
/** Register queue name in cache - called when first job is pushed */
|
|
244
|
+
registerQueueName(queue) {
|
|
245
|
+
this.queueNamesCache.add(queue);
|
|
246
|
+
}
|
|
247
|
+
/** Unregister queue name from cache - called on obliterate */
|
|
248
|
+
unregisterQueueName(queue) {
|
|
249
|
+
this.queueNamesCache.delete(queue);
|
|
219
250
|
}
|
|
220
251
|
clean(queue, graceMs, state, limit) {
|
|
221
252
|
return queueControl.cleanQueue(queue, graceMs, { shards: this.shards, jobIndex: this.jobIndex }, state, limit);
|
|
@@ -313,6 +344,10 @@ export class QueueManager {
|
|
|
313
344
|
subscribe(callback) {
|
|
314
345
|
return this.eventsManager.subscribe(callback);
|
|
315
346
|
}
|
|
347
|
+
/** Wait for job completion - event-driven, no polling */
|
|
348
|
+
waitForJobCompletion(jobId, timeoutMs) {
|
|
349
|
+
return this.eventsManager.waitForJobCompletion(jobId, timeoutMs);
|
|
350
|
+
}
|
|
316
351
|
// ============ Internal State Access (for validation) ============
|
|
317
352
|
/** Get job index for dependency validation */
|
|
318
353
|
getJobIndex() {
|
|
@@ -329,33 +364,79 @@ export class QueueManager {
|
|
|
329
364
|
onJobCompleted(completedId) {
|
|
330
365
|
this.pendingDepChecks.add(completedId);
|
|
331
366
|
}
|
|
367
|
+
/**
|
|
368
|
+
* Batch version of onJobCompleted - more efficient for large batches
|
|
369
|
+
*/
|
|
370
|
+
onJobsCompleted(completedIds) {
|
|
371
|
+
for (const id of completedIds) {
|
|
372
|
+
this.pendingDepChecks.add(id);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Check if there are any jobs waiting for dependencies
|
|
377
|
+
* Used to skip dependency tracking when not needed
|
|
378
|
+
*/
|
|
379
|
+
hasPendingDeps() {
|
|
380
|
+
// Check if any shard has waiting dependencies
|
|
381
|
+
for (const shard of this.shards) {
|
|
382
|
+
if (shard.waitingDeps.size > 0)
|
|
383
|
+
return true;
|
|
384
|
+
}
|
|
385
|
+
return false;
|
|
386
|
+
}
|
|
332
387
|
/**
|
|
333
388
|
* Process pending dependency checks in a separate task
|
|
334
|
-
*
|
|
389
|
+
* Uses reverse index for O(m) where m = jobs waiting on completed deps
|
|
390
|
+
* Instead of O(n) full scan of all waiting deps
|
|
335
391
|
*/
|
|
336
392
|
async processPendingDependencies() {
|
|
337
393
|
if (this.pendingDepChecks.size === 0)
|
|
338
394
|
return;
|
|
339
|
-
//
|
|
395
|
+
// Copy and clear the pending set
|
|
396
|
+
const completedIds = Array.from(this.pendingDepChecks);
|
|
340
397
|
this.pendingDepChecks.clear();
|
|
341
|
-
//
|
|
342
|
-
|
|
398
|
+
// Collect jobs to check by shard
|
|
399
|
+
const jobsToCheckByShard = new Map();
|
|
400
|
+
// Use reverse index to find only affected jobs - O(m) instead of O(n)
|
|
401
|
+
for (const completedId of completedIds) {
|
|
402
|
+
for (let i = 0; i < SHARD_COUNT; i++) {
|
|
403
|
+
const waitingJobIds = this.shards[i].getJobsWaitingFor(completedId);
|
|
404
|
+
if (waitingJobIds && waitingJobIds.size > 0) {
|
|
405
|
+
let shardJobs = jobsToCheckByShard.get(i);
|
|
406
|
+
if (!shardJobs) {
|
|
407
|
+
shardJobs = new Set();
|
|
408
|
+
jobsToCheckByShard.set(i, shardJobs);
|
|
409
|
+
}
|
|
410
|
+
for (const jobId of waitingJobIds) {
|
|
411
|
+
shardJobs.add(jobId);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
// Process each shard that has affected jobs - in parallel using Promise.all
|
|
417
|
+
await Promise.all(Array.from(jobsToCheckByShard.entries()).map(async ([i, jobIdsToCheck]) => {
|
|
343
418
|
const shard = this.shards[i];
|
|
344
419
|
const jobsToPromote = [];
|
|
345
|
-
//
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
if (job
|
|
420
|
+
// Check only the affected jobs, not all waiting deps
|
|
421
|
+
for (const jobId of jobIdsToCheck) {
|
|
422
|
+
const job = shard.waitingDeps.get(jobId);
|
|
423
|
+
if (job?.dependsOn.every((dep) => this.completedJobs.has(dep))) {
|
|
349
424
|
jobsToPromote.push(job);
|
|
350
425
|
}
|
|
351
426
|
}
|
|
352
427
|
// Now acquire lock and modify
|
|
353
428
|
if (jobsToPromote.length > 0) {
|
|
354
429
|
await withWriteLock(this.shardLocks[i], () => {
|
|
430
|
+
const now = Date.now();
|
|
355
431
|
for (const job of jobsToPromote) {
|
|
356
432
|
if (shard.waitingDeps.has(job.id)) {
|
|
357
433
|
shard.waitingDeps.delete(job.id);
|
|
434
|
+
// Unregister from dependency index
|
|
435
|
+
shard.unregisterDependencies(job.id, job.dependsOn);
|
|
358
436
|
shard.getQueue(job.queue).push(job);
|
|
437
|
+
// Update running counters for O(1) stats and temporal index
|
|
438
|
+
const isDelayed = job.runAt > now;
|
|
439
|
+
shard.incrementQueued(job.id, isDelayed, job.createdAt, job.queue);
|
|
359
440
|
this.jobIndex.set(job.id, { type: 'queue', shardIdx: i, queueName: job.queue });
|
|
360
441
|
}
|
|
361
442
|
}
|
|
@@ -364,7 +445,7 @@ export class QueueManager {
|
|
|
364
445
|
}
|
|
365
446
|
});
|
|
366
447
|
}
|
|
367
|
-
}
|
|
448
|
+
}));
|
|
368
449
|
}
|
|
369
450
|
// ============ Background Tasks ============
|
|
370
451
|
startBackgroundTasks() {
|
|
@@ -403,16 +484,32 @@ export class QueueManager {
|
|
|
403
484
|
const idx = shardIndex(job.queue);
|
|
404
485
|
this.shards[idx].getQueue(job.queue).push(job);
|
|
405
486
|
this.jobIndex.set(job.id, { type: 'queue', shardIdx: idx, queueName: job.queue });
|
|
487
|
+
// Register queue name in cache
|
|
488
|
+
this.registerQueueName(job.queue);
|
|
406
489
|
}
|
|
407
490
|
this.cronScheduler.load(this.storage.loadCronJobs());
|
|
408
491
|
}
|
|
492
|
+
// eslint-disable-next-line complexity
|
|
409
493
|
cleanup() {
|
|
410
494
|
// LRU collections auto-evict, but we still need to clean up:
|
|
411
495
|
// 1. Orphaned processing shard entries (jobs stuck in processing)
|
|
412
496
|
// 2. Stale waiting dependencies
|
|
413
497
|
// 3. Orphaned unique keys and active groups
|
|
498
|
+
// 4. Refresh delayed job counters (jobs that became ready)
|
|
414
499
|
const now = Date.now();
|
|
415
500
|
const stallTimeout = 30 * 60 * 1000; // 30 minutes max for processing
|
|
501
|
+
// Refresh delayed counters - update jobs that have become ready
|
|
502
|
+
for (let i = 0; i < SHARD_COUNT; i++) {
|
|
503
|
+
this.shards[i].refreshDelayedCount(now);
|
|
504
|
+
}
|
|
505
|
+
// Compact priority queues if stale ratio > 20% (reclaim memory)
|
|
506
|
+
for (let i = 0; i < SHARD_COUNT; i++) {
|
|
507
|
+
for (const q of this.shards[i].queues.values()) {
|
|
508
|
+
if (q.needsCompaction(0.2)) {
|
|
509
|
+
q.compact();
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
}
|
|
416
513
|
// Clean orphaned processing entries
|
|
417
514
|
for (let i = 0; i < SHARD_COUNT; i++) {
|
|
418
515
|
const orphaned = [];
|
|
@@ -435,15 +532,17 @@ export class QueueManager {
|
|
|
435
532
|
for (let i = 0; i < SHARD_COUNT; i++) {
|
|
436
533
|
const shard = this.shards[i];
|
|
437
534
|
const stale = [];
|
|
438
|
-
for (const [
|
|
535
|
+
for (const [_id, job] of shard.waitingDeps) {
|
|
439
536
|
if (now - job.createdAt > depTimeout) {
|
|
440
|
-
stale.push(
|
|
537
|
+
stale.push(job);
|
|
441
538
|
}
|
|
442
539
|
}
|
|
443
|
-
for (const
|
|
444
|
-
shard.waitingDeps.delete(id);
|
|
445
|
-
|
|
446
|
-
|
|
540
|
+
for (const job of stale) {
|
|
541
|
+
shard.waitingDeps.delete(job.id);
|
|
542
|
+
// Remove from dependency index
|
|
543
|
+
shard.unregisterDependencies(job.id, job.dependsOn);
|
|
544
|
+
this.jobIndex.delete(job.id);
|
|
545
|
+
queueLog.warn('Cleaned stale waiting dependency', { jobId: String(job.id) });
|
|
447
546
|
}
|
|
448
547
|
}
|
|
449
548
|
// Clean orphaned unique keys (keys with no matching job)
|
|
@@ -498,11 +597,13 @@ export class QueueManager {
|
|
|
498
597
|
this.jobLogs.clear();
|
|
499
598
|
this.customIdMap.clear();
|
|
500
599
|
this.pendingDepChecks.clear();
|
|
600
|
+
this.queueNamesCache.clear();
|
|
501
601
|
for (const shard of this.processingShards) {
|
|
502
602
|
shard.clear();
|
|
503
603
|
}
|
|
504
604
|
for (const shard of this.shards) {
|
|
505
605
|
shard.waitingDeps.clear();
|
|
606
|
+
shard.dependencyIndex.clear();
|
|
506
607
|
shard.waitingChildren.clear();
|
|
507
608
|
shard.uniqueKeys.clear();
|
|
508
609
|
shard.activeGroups.clear();
|
|
@@ -510,18 +611,15 @@ export class QueueManager {
|
|
|
510
611
|
}
|
|
511
612
|
getStats() {
|
|
512
613
|
let waiting = 0, delayed = 0, active = 0, dlq = 0;
|
|
513
|
-
|
|
614
|
+
// O(32) instead of O(n) - use running counters from each shard
|
|
514
615
|
for (let i = 0; i < SHARD_COUNT; i++) {
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
}
|
|
523
|
-
for (const d of this.shards[i].dlq.values())
|
|
524
|
-
dlq += d.length;
|
|
616
|
+
const shardStats = this.shards[i].getStats();
|
|
617
|
+
const queuedTotal = shardStats.queuedJobs;
|
|
618
|
+
const delayedInShard = shardStats.delayedJobs;
|
|
619
|
+
// waiting = queued jobs that are not delayed
|
|
620
|
+
waiting += Math.max(0, queuedTotal - delayedInShard);
|
|
621
|
+
delayed += delayedInShard;
|
|
622
|
+
dlq += shardStats.dlqJobs;
|
|
525
623
|
active += this.processingShards[i].size;
|
|
526
624
|
}
|
|
527
625
|
const cronStats = this.cronScheduler.getStats();
|
|
@@ -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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"}
|
|
@@ -10,12 +10,16 @@ export declare class WebhookManager {
|
|
|
10
10
|
private readonly webhooks;
|
|
11
11
|
private readonly maxRetries;
|
|
12
12
|
private readonly retryDelay;
|
|
13
|
+
/** Running counter for enabled webhooks - avoids O(n) filter in getStats */
|
|
14
|
+
private enabledCount;
|
|
13
15
|
/** Add a webhook */
|
|
14
16
|
add(url: string, events: string[], queue?: string, secret?: string): Webhook;
|
|
15
17
|
/** Remove a webhook */
|
|
16
18
|
remove(id: WebhookId): boolean;
|
|
17
19
|
/** Get webhook by ID */
|
|
18
20
|
get(id: WebhookId): Webhook | undefined;
|
|
21
|
+
/** Set webhook enabled state - properly maintains running counter */
|
|
22
|
+
setEnabled(id: WebhookId, enabled: boolean): boolean;
|
|
19
23
|
/** List all webhooks */
|
|
20
24
|
list(): Webhook[];
|
|
21
25
|
/** Trigger webhooks for an event */
|
|
@@ -26,7 +30,9 @@ export declare class WebhookManager {
|
|
|
26
30
|
}): Promise<void>;
|
|
27
31
|
/** Send webhook with retries */
|
|
28
32
|
private sendWebhook;
|
|
29
|
-
/**
|
|
33
|
+
/** Check if there are any enabled webhooks - O(1) */
|
|
34
|
+
hasEnabledWebhooks(): boolean;
|
|
35
|
+
/** Get stats - O(1) using running counter */
|
|
30
36
|
getStats(): {
|
|
31
37
|
total: number;
|
|
32
38
|
enabled: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhookManager.d.ts","sourceRoot":"","sources":["../../src/application/webhookManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"webhookManager.d.ts","sourceRoot":"","sources":["../../src/application/webhookManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAC;AA8BjC;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC,4EAA4E;IAC5E,OAAO,CAAC,YAAY,CAAK;IAEzB,oBAAoB;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAU5E,uBAAuB;IACvB,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAY9B,wBAAwB;IACxB,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAIvC,qEAAqE;IACrE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAWpD,wBAAwB;IACxB,IAAI,IAAI,OAAO,EAAE;IAIjB,oCAAoC;IAC9B,OAAO,CACX,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5D,OAAO,CAAC,IAAI,CAAC;IAqBhB,gCAAgC;YAClB,WAAW;IA4CzB,qDAAqD;IACrD,kBAAkB,IAAI,OAAO;IAI7B,6CAA6C;IAC7C,QAAQ;;;;CAMT"}
|
|
@@ -4,11 +4,19 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { createWebhook, } from '../domain/types/webhook';
|
|
6
6
|
import { webhookLog } from '../shared/logger';
|
|
7
|
-
/** HMAC
|
|
7
|
+
/** Singleton TextEncoder for HMAC operations */
|
|
8
|
+
const textEncoder = new TextEncoder();
|
|
9
|
+
/** Cache for imported crypto keys - avoids expensive importKey per request */
|
|
10
|
+
const keyCache = new Map();
|
|
11
|
+
/** HMAC-SHA256 signature with key caching */
|
|
8
12
|
async function signPayload(payload, secret) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
// Get cached key or import new one
|
|
14
|
+
let key = keyCache.get(secret);
|
|
15
|
+
if (!key) {
|
|
16
|
+
key = await crypto.subtle.importKey('raw', textEncoder.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
17
|
+
keyCache.set(secret, key);
|
|
18
|
+
}
|
|
19
|
+
const signature = await crypto.subtle.sign('HMAC', key, textEncoder.encode(payload));
|
|
12
20
|
return Array.from(new Uint8Array(signature))
|
|
13
21
|
.map((b) => b.toString(16).padStart(2, '0'))
|
|
14
22
|
.join('');
|
|
@@ -20,15 +28,24 @@ export class WebhookManager {
|
|
|
20
28
|
webhooks = new Map();
|
|
21
29
|
maxRetries = 3;
|
|
22
30
|
retryDelay = 1000;
|
|
31
|
+
/** Running counter for enabled webhooks - avoids O(n) filter in getStats */
|
|
32
|
+
enabledCount = 0;
|
|
23
33
|
/** Add a webhook */
|
|
24
34
|
add(url, events, queue, secret) {
|
|
25
35
|
const webhook = createWebhook(url, events, queue, secret);
|
|
26
36
|
this.webhooks.set(webhook.id, webhook);
|
|
37
|
+
if (webhook.enabled) {
|
|
38
|
+
this.enabledCount++;
|
|
39
|
+
}
|
|
27
40
|
webhookLog.info('Added webhook', { webhookId: webhook.id, events });
|
|
28
41
|
return webhook;
|
|
29
42
|
}
|
|
30
43
|
/** Remove a webhook */
|
|
31
44
|
remove(id) {
|
|
45
|
+
const webhook = this.webhooks.get(id);
|
|
46
|
+
if (webhook?.enabled) {
|
|
47
|
+
this.enabledCount--;
|
|
48
|
+
}
|
|
32
49
|
const removed = this.webhooks.delete(id);
|
|
33
50
|
if (removed) {
|
|
34
51
|
webhookLog.info('Removed webhook', { webhookId: id });
|
|
@@ -39,6 +56,17 @@ export class WebhookManager {
|
|
|
39
56
|
get(id) {
|
|
40
57
|
return this.webhooks.get(id);
|
|
41
58
|
}
|
|
59
|
+
/** Set webhook enabled state - properly maintains running counter */
|
|
60
|
+
setEnabled(id, enabled) {
|
|
61
|
+
const webhook = this.webhooks.get(id);
|
|
62
|
+
if (!webhook)
|
|
63
|
+
return false;
|
|
64
|
+
if (webhook.enabled !== enabled) {
|
|
65
|
+
webhook.enabled = enabled;
|
|
66
|
+
this.enabledCount += enabled ? 1 : -1;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
42
70
|
/** List all webhooks */
|
|
43
71
|
list() {
|
|
44
72
|
return Array.from(this.webhooks.values());
|
|
@@ -99,11 +127,15 @@ export class WebhookManager {
|
|
|
99
127
|
webhook.failureCount++;
|
|
100
128
|
throw lastError ?? new Error('Webhook delivery failed after max retries');
|
|
101
129
|
}
|
|
102
|
-
/**
|
|
130
|
+
/** Check if there are any enabled webhooks - O(1) */
|
|
131
|
+
hasEnabledWebhooks() {
|
|
132
|
+
return this.enabledCount > 0;
|
|
133
|
+
}
|
|
134
|
+
/** Get stats - O(1) using running counter */
|
|
103
135
|
getStats() {
|
|
104
136
|
return {
|
|
105
137
|
total: this.webhooks.size,
|
|
106
|
-
enabled:
|
|
138
|
+
enabled: this.enabledCount,
|
|
107
139
|
};
|
|
108
140
|
}
|
|
109
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhookManager.js","sourceRoot":"","sources":["../../src/application/webhookManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAKL,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,
|
|
1
|
+
{"version":3,"file":"webhookManager.js","sourceRoot":"","sources":["../../src/application/webhookManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,10 @@ import { type Worker, type WorkerId } from '../domain/types/worker';
|
|
|
9
9
|
export declare class WorkerManager {
|
|
10
10
|
private readonly workers;
|
|
11
11
|
private cleanupInterval;
|
|
12
|
+
/** Running counters for O(1) stats - avoids O(n) reduce operations */
|
|
13
|
+
private totalProcessedCounter;
|
|
14
|
+
private totalFailedCounter;
|
|
15
|
+
private totalActiveJobsCounter;
|
|
12
16
|
constructor();
|
|
13
17
|
/** Register a new worker */
|
|
14
18
|
register(name: string, queues: string[]): Worker;
|
|
@@ -36,7 +40,7 @@ export declare class WorkerManager {
|
|
|
36
40
|
private cleanupStale;
|
|
37
41
|
/** Stop cleanup */
|
|
38
42
|
stop(): void;
|
|
39
|
-
/** Get stats */
|
|
43
|
+
/** Get stats - O(n) only for active count, O(1) for other metrics */
|
|
40
44
|
getStats(): {
|
|
41
45
|
total: number;
|
|
42
46
|
active: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../src/application/workerManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAgB,MAAM,wBAAwB,CAAC;AAQlF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA+C;;
|
|
1
|
+
{"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../src/application/workerManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAgB,MAAM,wBAAwB,CAAC;AAQlF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA+C;IAEtE,sEAAsE;IACtE,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,sBAAsB,CAAK;;IAMnC,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;IAOhD,0BAA0B;IAC1B,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;IAajC,uBAAuB;IACvB,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAIrC,mCAAmC;IACnC,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;IAOhC,kCAAkC;IAClC,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IASnC,oDAAoD;IACpD,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAahC,iDAAiD;IACjD,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAa7B,uBAAuB;IACvB,IAAI,IAAI,MAAM,EAAE;IAIhB,0CAA0C;IAC1C,UAAU,IAAI,MAAM,EAAE;IAKtB,uCAAuC;IACvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAIpC,6BAA6B;IAC7B,OAAO,CAAC,YAAY;IAMpB,2BAA2B;IAC3B,OAAO,CAAC,YAAY;IAcpB,mBAAmB;IACnB,IAAI,IAAI,IAAI;IAOZ,qEAAqE;IACrE,QAAQ;;;;;;;CAmBT"}
|