bunqueue 1.9.8 → 2.0.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/dist/application/backgroundTasks.d.ts +10 -0
- package/dist/application/backgroundTasks.d.ts.map +1 -1
- package/dist/application/backgroundTasks.js +64 -13
- package/dist/application/backgroundTasks.js.map +1 -1
- package/dist/application/cleanupTasks.js +5 -1
- package/dist/application/cleanupTasks.js.map +1 -1
- package/dist/application/clientTracking.d.ts.map +1 -1
- package/dist/application/clientTracking.js +25 -16
- package/dist/application/clientTracking.js.map +1 -1
- package/dist/application/contextFactory.d.ts.map +1 -1
- package/dist/application/contextFactory.js +1 -0
- package/dist/application/contextFactory.js.map +1 -1
- package/dist/application/dependencyProcessor.d.ts.map +1 -1
- package/dist/application/dependencyProcessor.js +14 -13
- package/dist/application/dependencyProcessor.js.map +1 -1
- package/dist/application/eventsManager.d.ts.map +1 -1
- package/dist/application/eventsManager.js +16 -4
- package/dist/application/eventsManager.js.map +1 -1
- package/dist/application/jobLogsManager.d.ts +2 -2
- package/dist/application/jobLogsManager.d.ts.map +1 -1
- package/dist/application/jobLogsManager.js +13 -3
- package/dist/application/jobLogsManager.js.map +1 -1
- package/dist/application/lockManager.d.ts +1 -0
- package/dist/application/lockManager.d.ts.map +1 -1
- package/dist/application/lockManager.js +54 -36
- package/dist/application/lockManager.js.map +1 -1
- package/dist/application/operations/ack.d.ts +3 -1
- package/dist/application/operations/ack.d.ts.map +1 -1
- package/dist/application/operations/ack.js +25 -1
- package/dist/application/operations/ack.js.map +1 -1
- package/dist/application/operations/ackHelpers.d.ts +1 -0
- package/dist/application/operations/ackHelpers.d.ts.map +1 -1
- package/dist/application/operations/ackHelpers.js +12 -1
- package/dist/application/operations/ackHelpers.js.map +1 -1
- package/dist/application/operations/jobManagement.d.ts +1 -1
- package/dist/application/operations/jobManagement.d.ts.map +1 -1
- package/dist/application/operations/jobManagement.js +23 -3
- package/dist/application/operations/jobManagement.js.map +1 -1
- package/dist/application/operations/push.d.ts +1 -1
- package/dist/application/operations/push.d.ts.map +1 -1
- package/dist/application/operations/push.js +25 -9
- package/dist/application/operations/push.js.map +1 -1
- package/dist/application/operations/queryOperations.d.ts +3 -0
- package/dist/application/operations/queryOperations.d.ts.map +1 -1
- package/dist/application/operations/queryOperations.js +29 -0
- package/dist/application/operations/queryOperations.js.map +1 -1
- package/dist/application/queueManager.d.ts +15 -1
- package/dist/application/queueManager.d.ts.map +1 -1
- package/dist/application/queueManager.js +77 -3
- package/dist/application/queueManager.js.map +1 -1
- package/dist/application/stallDetection.js +27 -22
- package/dist/application/stallDetection.js.map +1 -1
- package/dist/application/types.js +1 -1
- package/dist/application/types.js.map +1 -1
- package/dist/application/webhookManager.d.ts.map +1 -1
- package/dist/application/webhookManager.js +18 -2
- package/dist/application/webhookManager.js.map +1 -1
- package/dist/application/workerManager.d.ts.map +1 -1
- package/dist/application/workerManager.js +4 -2
- package/dist/application/workerManager.js.map +1 -1
- package/dist/cli/client.d.ts +3 -5
- package/dist/cli/client.d.ts.map +1 -1
- package/dist/cli/client.js +31 -27
- package/dist/cli/client.js.map +1 -1
- package/dist/cli/commands/core.js +3 -3
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/commands/job.js +14 -14
- package/dist/cli/commands/job.js.map +1 -1
- package/dist/cli/commands/server.d.ts.map +1 -1
- package/dist/cli/commands/server.js +5 -29
- package/dist/cli/commands/server.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/client/events.d.ts +29 -1
- package/dist/client/events.d.ts.map +1 -1
- package/dist/client/events.js +96 -28
- package/dist/client/events.js.map +1 -1
- package/dist/client/flow.d.ts +144 -3
- package/dist/client/flow.d.ts.map +1 -1
- package/dist/client/flow.js +538 -68
- package/dist/client/flow.js.map +1 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/queue/queue.d.ts +260 -1
- package/dist/client/queue/queue.d.ts.map +1 -1
- package/dist/client/queue/queue.js +1346 -17
- package/dist/client/queue/queue.js.map +1 -1
- package/dist/client/sandboxed/types.d.ts +1 -0
- package/dist/client/sandboxed/types.d.ts.map +1 -1
- package/dist/client/sandboxed/worker.d.ts +1 -0
- package/dist/client/sandboxed/worker.d.ts.map +1 -1
- package/dist/client/sandboxed/worker.js +31 -8
- package/dist/client/sandboxed/worker.js.map +1 -1
- package/dist/client/sandboxed/wrapper.d.ts.map +1 -1
- package/dist/client/sandboxed/wrapper.js +10 -1
- package/dist/client/sandboxed/wrapper.js.map +1 -1
- package/dist/client/tcp/client.d.ts +4 -1
- package/dist/client/tcp/client.d.ts.map +1 -1
- package/dist/client/tcp/client.js +26 -8
- package/dist/client/tcp/client.js.map +1 -1
- package/dist/client/tcp/connection.d.ts +6 -8
- package/dist/client/tcp/connection.d.ts.map +1 -1
- package/dist/client/tcp/connection.js +24 -22
- package/dist/client/tcp/connection.js.map +1 -1
- package/dist/client/tcp/index.d.ts +0 -1
- package/dist/client/tcp/index.d.ts.map +1 -1
- package/dist/client/tcp/index.js +0 -1
- package/dist/client/tcp/index.js.map +1 -1
- package/dist/client/tcp/types.d.ts +8 -13
- package/dist/client/tcp/types.d.ts.map +1 -1
- package/dist/client/tcp/types.js +0 -1
- package/dist/client/tcp/types.js.map +1 -1
- package/dist/client/tcpPool.d.ts.map +1 -1
- package/dist/client/tcpPool.js +19 -14
- package/dist/client/tcpPool.js.map +1 -1
- package/dist/client/types.d.ts +430 -13
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +346 -5
- package/dist/client/types.js.map +1 -1
- package/dist/client/worker/ackBatcher.d.ts +2 -1
- package/dist/client/worker/ackBatcher.d.ts.map +1 -1
- package/dist/client/worker/ackBatcher.js +29 -18
- package/dist/client/worker/ackBatcher.js.map +1 -1
- package/dist/client/worker/jobParser.d.ts.map +1 -1
- package/dist/client/worker/jobParser.js +8 -7
- package/dist/client/worker/jobParser.js.map +1 -1
- package/dist/client/worker/processor.d.ts.map +1 -1
- package/dist/client/worker/processor.js +15 -6
- package/dist/client/worker/processor.js.map +1 -1
- package/dist/client/worker/worker.d.ts +117 -0
- package/dist/client/worker/worker.d.ts.map +1 -1
- package/dist/client/worker/worker.js +375 -3
- package/dist/client/worker/worker.js.map +1 -1
- package/dist/domain/queue/dlqShard.d.ts +2 -0
- package/dist/domain/queue/dlqShard.d.ts.map +1 -1
- package/dist/domain/queue/dlqShard.js +12 -2
- package/dist/domain/queue/dlqShard.js.map +1 -1
- package/dist/domain/queue/priorityQueue.d.ts.map +1 -1
- package/dist/domain/queue/priorityQueue.js +24 -18
- package/dist/domain/queue/priorityQueue.js.map +1 -1
- package/dist/domain/queue/shard.d.ts +8 -2
- package/dist/domain/queue/shard.d.ts.map +1 -1
- package/dist/domain/queue/shard.js +27 -9
- package/dist/domain/queue/shard.js.map +1 -1
- package/dist/domain/queue/temporalManager.d.ts +1 -0
- package/dist/domain/queue/temporalManager.d.ts.map +1 -1
- package/dist/domain/queue/temporalManager.js +2 -1
- package/dist/domain/queue/temporalManager.js.map +1 -1
- package/dist/domain/queue/uniqueKeyManager.d.ts +2 -2
- package/dist/domain/queue/uniqueKeyManager.d.ts.map +1 -1
- package/dist/domain/queue/uniqueKeyManager.js +3 -3
- package/dist/domain/queue/uniqueKeyManager.js.map +1 -1
- package/dist/domain/types/command.d.ts +6 -0
- package/dist/domain/types/command.d.ts.map +1 -1
- package/dist/domain/types/job.d.ts +89 -2
- package/dist/domain/types/job.d.ts.map +1 -1
- package/dist/domain/types/job.js +94 -26
- package/dist/domain/types/job.js.map +1 -1
- package/dist/domain/types/queue.d.ts +11 -1
- package/dist/domain/types/queue.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqlite.d.ts +2 -0
- package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqlite.js +5 -1
- package/dist/infrastructure/persistence/sqlite.js.map +1 -1
- package/dist/infrastructure/persistence/sqliteBatch.d.ts +9 -4
- package/dist/infrastructure/persistence/sqliteBatch.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqliteBatch.js +38 -21
- package/dist/infrastructure/persistence/sqliteBatch.js.map +1 -1
- package/dist/infrastructure/persistence/sqliteSerializer.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqliteSerializer.js +14 -0
- package/dist/infrastructure/persistence/sqliteSerializer.js.map +1 -1
- package/dist/infrastructure/persistence/statements.d.ts +1 -1
- package/dist/infrastructure/persistence/statements.d.ts.map +1 -1
- package/dist/infrastructure/persistence/statements.js +3 -2
- package/dist/infrastructure/persistence/statements.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 +46 -12
- package/dist/infrastructure/scheduler/cronScheduler.js.map +1 -1
- package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/core.js +26 -19
- package/dist/infrastructure/server/handlers/core.js.map +1 -1
- package/dist/infrastructure/server/handlers/query.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/query.js +1 -16
- package/dist/infrastructure/server/handlers/query.js.map +1 -1
- package/dist/infrastructure/server/http.d.ts.map +1 -1
- package/dist/infrastructure/server/http.js +27 -2
- package/dist/infrastructure/server/http.js.map +1 -1
- package/dist/infrastructure/server/protocol.d.ts +15 -1
- package/dist/infrastructure/server/protocol.d.ts.map +1 -1
- package/dist/infrastructure/server/protocol.js +37 -3
- package/dist/infrastructure/server/protocol.js.map +1 -1
- package/dist/infrastructure/server/rateLimiter.d.ts.map +1 -1
- package/dist/infrastructure/server/rateLimiter.js +5 -3
- package/dist/infrastructure/server/rateLimiter.js.map +1 -1
- package/dist/infrastructure/server/tcp.d.ts +8 -10
- package/dist/infrastructure/server/tcp.d.ts.map +1 -1
- package/dist/infrastructure/server/tcp.js +87 -46
- package/dist/infrastructure/server/tcp.js.map +1 -1
- package/dist/main.js +7 -6
- package/dist/main.js.map +1 -1
- package/dist/shared/lock.d.ts +1 -1
- package/dist/shared/lock.d.ts.map +1 -1
- package/dist/shared/lock.js +6 -4
- package/dist/shared/lock.js.map +1 -1
- package/dist/shared/lru.d.ts +51 -0
- package/dist/shared/lru.d.ts.map +1 -1
- package/dist/shared/lru.js +89 -3
- package/dist/shared/lru.js.map +1 -1
- package/dist/shared/skipList.d.ts +10 -2
- package/dist/shared/skipList.d.ts.map +1 -1
- package/dist/shared/skipList.js +22 -1
- package/dist/shared/skipList.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/tcp/lineBuffer.d.ts +0 -17
- package/dist/client/tcp/lineBuffer.d.ts.map +0 -1
- package/dist/client/tcp/lineBuffer.js +0 -32
- package/dist/client/tcp/lineBuffer.js.map +0 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Get job, get result, get progress
|
|
4
4
|
*/
|
|
5
5
|
import type { Job, JobId } from '../../domain/types/job';
|
|
6
|
+
import { JobState } from '../../domain/types/job';
|
|
6
7
|
import type { JobLocation } from '../../domain/types/queue';
|
|
7
8
|
import type { Shard } from '../../domain/queue/shard';
|
|
8
9
|
import type { SqliteStorage } from '../../infrastructure/persistence/sqlite';
|
|
@@ -35,6 +36,8 @@ export declare function getJobProgress(jobId: JobId, ctx: QueryContext): {
|
|
|
35
36
|
export interface GetJobsContext extends QueryContext {
|
|
36
37
|
shardCount: number;
|
|
37
38
|
}
|
|
39
|
+
/** Get job state by ID */
|
|
40
|
+
export declare function getJobState(jobId: JobId, ctx: QueryContext): Promise<JobState | 'unknown'>;
|
|
38
41
|
/** Get jobs from queue with filters */
|
|
39
42
|
export declare function getJobs(queue: string, shardIdx: number, options: {
|
|
40
43
|
state?: 'waiting' | 'delayed' | 'active' | 'completed' | 'failed';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryOperations.d.ts","sourceRoot":"","sources":["../../../src/application/operations/queryOperations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEzD,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACrC;AAED,oBAAoB;AACpB,wBAAsB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAmBjF;AAED,qBAAqB;AACrB,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAErE;AAED,2BAA2B;AAC3B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,GAAG,GAAG,IAAI,CAchF;AAED,uBAAuB;AACvB,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,YAAY,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAQrD;AAED,uDAAuD;AACvD,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,EACD,GAAG,EAAE,cAAc,GAClB,GAAG,EAAE,CAmCP"}
|
|
1
|
+
{"version":3,"file":"queryOperations.d.ts","sourceRoot":"","sources":["../../../src/application/operations/queryOperations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEzD,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACrC;AAED,oBAAoB;AACpB,wBAAsB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAmBjF;AAED,qBAAqB;AACrB,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAErE;AAED,2BAA2B;AAC3B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,GAAG,GAAG,IAAI,CAchF;AAED,uBAAuB;AACvB,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,YAAY,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAQrD;AAED,uDAAuD;AACvD,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,0BAA0B;AAC1B,wBAAsB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA6BhG;AAED,uCAAuC;AACvC,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,EACD,GAAG,EAAE,cAAc,GAClB,GAAG,EAAE,CAmCP"}
|
|
@@ -54,6 +54,35 @@ export function getJobProgress(jobId, ctx) {
|
|
|
54
54
|
return null;
|
|
55
55
|
return { progress: job.progress, message: job.progressMessage };
|
|
56
56
|
}
|
|
57
|
+
/** Get job state by ID */
|
|
58
|
+
export async function getJobState(jobId, ctx) {
|
|
59
|
+
const location = ctx.jobIndex.get(jobId);
|
|
60
|
+
// Check completed set first (fast path)
|
|
61
|
+
if (ctx.completedJobs.has(jobId)) {
|
|
62
|
+
return "completed" /* JobState.Completed */;
|
|
63
|
+
}
|
|
64
|
+
if (!location) {
|
|
65
|
+
return 'unknown';
|
|
66
|
+
}
|
|
67
|
+
switch (location.type) {
|
|
68
|
+
case 'queue': {
|
|
69
|
+
// Check if job is delayed or waiting
|
|
70
|
+
const job = await withReadLock(ctx.shardLocks[location.shardIdx], () => {
|
|
71
|
+
return ctx.shards[location.shardIdx].getQueue(location.queueName).find(jobId);
|
|
72
|
+
});
|
|
73
|
+
if (!job)
|
|
74
|
+
return 'unknown';
|
|
75
|
+
const now = Date.now();
|
|
76
|
+
return job.runAt > now ? "delayed" /* JobState.Delayed */ : "waiting" /* JobState.Waiting */;
|
|
77
|
+
}
|
|
78
|
+
case 'processing':
|
|
79
|
+
return "active" /* JobState.Active */;
|
|
80
|
+
case 'completed':
|
|
81
|
+
return "completed" /* JobState.Completed */;
|
|
82
|
+
case 'dlq':
|
|
83
|
+
return "failed" /* JobState.Failed */;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
57
86
|
/** Get jobs from queue with filters */
|
|
58
87
|
export function getJobs(queue, shardIdx, options, ctx) {
|
|
59
88
|
const { state, start = 0, end = 100, asc = true } = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryOperations.js","sourceRoot":"","sources":["../../../src/application/operations/queryOperations.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"queryOperations.js","sourceRoot":"","sources":["../../../src/application/operations/queryOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,19 @@ export declare class QueueManager {
|
|
|
82
82
|
unregisterClientJob(clientId: string | undefined, jobId: JobId): void;
|
|
83
83
|
releaseClientJobs(clientId: string): Promise<number>;
|
|
84
84
|
getJob(jobId: JobId): Promise<Job | null>;
|
|
85
|
+
getJobState(jobId: JobId): Promise<string>;
|
|
85
86
|
getResult(jobId: JobId): unknown;
|
|
87
|
+
/**
|
|
88
|
+
* Get return values from all children of a parent job.
|
|
89
|
+
* Returns a Record where keys are job keys (queueName:jobId) and values are return values.
|
|
90
|
+
* BullMQ v5 compatible.
|
|
91
|
+
*/
|
|
92
|
+
getChildrenValues(parentJobId: JobId): Promise<Record<string, unknown>>;
|
|
93
|
+
/**
|
|
94
|
+
* Update a job's parent reference.
|
|
95
|
+
* Used by FlowProducer when creating flows where children need to reference parent.
|
|
96
|
+
*/
|
|
97
|
+
updateJobParent(childJobId: JobId, parentJobId: JobId): Promise<void>;
|
|
86
98
|
getJobByCustomId(customId: string): Job | null;
|
|
87
99
|
getProgress(jobId: JobId): {
|
|
88
100
|
progress: number;
|
|
@@ -119,10 +131,12 @@ export declare class QueueManager {
|
|
|
119
131
|
changePriority(jobId: JobId, priority: number): Promise<boolean>;
|
|
120
132
|
promote(jobId: JobId): Promise<boolean>;
|
|
121
133
|
moveToDelayed(jobId: JobId, delay: number): Promise<boolean>;
|
|
134
|
+
changeDelay(jobId: JobId, delay: number): Promise<boolean>;
|
|
135
|
+
extendLock(jobId: JobId | string, token: string | null, duration: number): Promise<boolean>;
|
|
122
136
|
discard(jobId: JobId): Promise<boolean>;
|
|
123
137
|
addLog(jobId: JobId, message: string, level?: 'info' | 'warn' | 'error'): boolean;
|
|
124
138
|
getLogs(jobId: JobId): JobLogEntry[];
|
|
125
|
-
clearLogs(jobId: JobId): void;
|
|
139
|
+
clearLogs(jobId: JobId, keepLogs?: number): void;
|
|
126
140
|
getPrometheusMetrics(): string;
|
|
127
141
|
addCron(input: CronJobInput): CronJob;
|
|
128
142
|
removeCron(name: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueManager.d.ts","sourceRoot":"","sources":["../../src/application/queueManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAahD,OAAO,EAAkC,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAG/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAGhD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IAGxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAG5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAG9C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAG9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;IAGrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAKtB;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAGxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"queueManager.d.ts","sourceRoot":"","sources":["../../src/application/queueManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,7 @@ export class QueueManager {
|
|
|
67
67
|
};
|
|
68
68
|
startTime = Date.now();
|
|
69
69
|
// Background task handles
|
|
70
|
-
backgroundTaskHandles
|
|
70
|
+
backgroundTaskHandles;
|
|
71
71
|
// Queue names cache
|
|
72
72
|
queueNamesCache = new Set();
|
|
73
73
|
// Context factory
|
|
@@ -94,6 +94,13 @@ export class QueueManager {
|
|
|
94
94
|
this.cronScheduler.setPushCallback(async (queue, input) => {
|
|
95
95
|
await this.push(queue, input);
|
|
96
96
|
});
|
|
97
|
+
// Set up persistence callback for cron state
|
|
98
|
+
if (this.storage) {
|
|
99
|
+
const storage = this.storage;
|
|
100
|
+
this.cronScheduler.setPersistCallback((name, executions, nextRun) => {
|
|
101
|
+
storage.updateCron(name, executions, nextRun);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
97
104
|
// Initialize managers
|
|
98
105
|
this.webhookManager = new WebhookManager();
|
|
99
106
|
this.workerManager = new WorkerManager();
|
|
@@ -300,9 +307,58 @@ export class QueueManager {
|
|
|
300
307
|
async getJob(jobId) {
|
|
301
308
|
return queryOps.getJob(jobId, this.contextFactory.getQueryContext());
|
|
302
309
|
}
|
|
310
|
+
async getJobState(jobId) {
|
|
311
|
+
return queryOps.getJobState(jobId, this.contextFactory.getQueryContext());
|
|
312
|
+
}
|
|
303
313
|
getResult(jobId) {
|
|
304
314
|
return queryOps.getJobResult(jobId, this.contextFactory.getQueryContext());
|
|
305
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Get return values from all children of a parent job.
|
|
318
|
+
* Returns a Record where keys are job keys (queueName:jobId) and values are return values.
|
|
319
|
+
* BullMQ v5 compatible.
|
|
320
|
+
*/
|
|
321
|
+
async getChildrenValues(parentJobId) {
|
|
322
|
+
const job = await this.getJob(parentJobId);
|
|
323
|
+
if (!job?.childrenIds || job.childrenIds.length === 0) {
|
|
324
|
+
return {};
|
|
325
|
+
}
|
|
326
|
+
const ctx = this.contextFactory.getQueryContext();
|
|
327
|
+
const results = {};
|
|
328
|
+
for (const childId of job.childrenIds) {
|
|
329
|
+
const result = queryOps.getJobResult(childId, ctx);
|
|
330
|
+
if (result !== undefined) {
|
|
331
|
+
// Get child job to find its queue name
|
|
332
|
+
const childJob = await this.getJob(childId);
|
|
333
|
+
const key = childJob ? `${childJob.queue}:${childId}` : childId;
|
|
334
|
+
results[key] = result;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
return results;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Update a job's parent reference.
|
|
341
|
+
* Used by FlowProducer when creating flows where children need to reference parent.
|
|
342
|
+
*/
|
|
343
|
+
async updateJobParent(childJobId, parentJobId) {
|
|
344
|
+
const childJob = await this.getJob(childJobId);
|
|
345
|
+
if (!childJob)
|
|
346
|
+
return;
|
|
347
|
+
// Update the job's data to include parent reference
|
|
348
|
+
const jobData = childJob.data;
|
|
349
|
+
jobData.__parentId = parentJobId;
|
|
350
|
+
jobData.__parentQueue = childJob.queue;
|
|
351
|
+
// Also add this child to parent's childrenIds
|
|
352
|
+
const parentJob = await this.getJob(parentJobId);
|
|
353
|
+
if (parentJob) {
|
|
354
|
+
if (!parentJob.childrenIds) {
|
|
355
|
+
parentJob.childrenIds = [];
|
|
356
|
+
}
|
|
357
|
+
if (!parentJob.childrenIds.includes(childJobId)) {
|
|
358
|
+
parentJob.childrenIds.push(childJobId);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
306
362
|
getJobByCustomId(customId) {
|
|
307
363
|
return queryOps.getJobByCustomId(customId, this.contextFactory.getQueryContext());
|
|
308
364
|
}
|
|
@@ -398,6 +454,24 @@ export class QueueManager {
|
|
|
398
454
|
async moveToDelayed(jobId, delay) {
|
|
399
455
|
return jobMgmt.moveJobToDelayed(jobId, delay, this.contextFactory.getJobMgmtContext());
|
|
400
456
|
}
|
|
457
|
+
async changeDelay(jobId, delay) {
|
|
458
|
+
// Change delay is essentially moving to delayed with new delay
|
|
459
|
+
return jobMgmt.moveJobToDelayed(jobId, delay, this.contextFactory.getJobMgmtContext());
|
|
460
|
+
}
|
|
461
|
+
async extendLock(jobId, token, duration) {
|
|
462
|
+
const jid = typeof jobId === 'string' ? jobId : jobId;
|
|
463
|
+
const ctx = this.contextFactory.getLockContext();
|
|
464
|
+
if (token) {
|
|
465
|
+
// Use provided token for verification
|
|
466
|
+
return lockMgr.renewJobLock(jid, token, ctx, duration);
|
|
467
|
+
}
|
|
468
|
+
// Fall back to looking up the token
|
|
469
|
+
const lockInfo = lockMgr.getLockInfo(jid, ctx);
|
|
470
|
+
if (lockInfo) {
|
|
471
|
+
return lockMgr.renewJobLock(jid, lockInfo.token, ctx, duration);
|
|
472
|
+
}
|
|
473
|
+
return false;
|
|
474
|
+
}
|
|
401
475
|
async discard(jobId) {
|
|
402
476
|
return jobMgmt.discardJob(jobId, this.contextFactory.getJobMgmtContext());
|
|
403
477
|
}
|
|
@@ -408,8 +482,8 @@ export class QueueManager {
|
|
|
408
482
|
getLogs(jobId) {
|
|
409
483
|
return logsOps.getJobLogs(jobId, this.contextFactory.getLogsContext());
|
|
410
484
|
}
|
|
411
|
-
clearLogs(jobId) {
|
|
412
|
-
logsOps.clearJobLogs(jobId, this.contextFactory.getLogsContext());
|
|
485
|
+
clearLogs(jobId, keepLogs) {
|
|
486
|
+
logsOps.clearJobLogs(jobId, this.contextFactory.getLogsContext(), keepLogs);
|
|
413
487
|
}
|
|
414
488
|
// ============ Metrics ============
|
|
415
489
|
getPrometheusMetrics() {
|
|
@@ -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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"}
|
|
@@ -16,7 +16,7 @@ export function checkStalledJobs(ctx) {
|
|
|
16
16
|
const confirmedStalled = [];
|
|
17
17
|
// Phase 1: Check jobs that were candidates from previous cycle
|
|
18
18
|
for (const jobId of ctx.stalledCandidates) {
|
|
19
|
-
const procIdx = processingShardIndex(
|
|
19
|
+
const procIdx = processingShardIndex(jobId);
|
|
20
20
|
const job = ctx.processingShards[procIdx].get(jobId);
|
|
21
21
|
if (!job) {
|
|
22
22
|
ctx.stalledCandidates.delete(jobId);
|
|
@@ -62,25 +62,16 @@ export function checkStalledJobs(ctx) {
|
|
|
62
62
|
*/
|
|
63
63
|
async function handleStalledJob(job, action, ctx) {
|
|
64
64
|
const idx = shardIndex(job.queue);
|
|
65
|
-
const procIdx = processingShardIndex(
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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], () => {
|
|
65
|
+
const procIdx = processingShardIndex(job.id);
|
|
66
|
+
// Lock order: shardLocks BEFORE processingLocks (per lock hierarchy in CLAUDE.md)
|
|
67
|
+
// Broadcast events AFTER verifying job is still stalled to avoid false positives
|
|
68
|
+
let handled = false;
|
|
69
|
+
await withWriteLock(ctx.shardLocks[idx], async () => {
|
|
70
|
+
await withWriteLock(ctx.processingLocks[procIdx], () => {
|
|
71
|
+
// Verify job is still in processing (might have been handled already)
|
|
72
|
+
if (!ctx.processingShards[procIdx].has(job.id)) {
|
|
73
|
+
return; // Job already completed, don't broadcast stalled event
|
|
74
|
+
}
|
|
84
75
|
const shard = ctx.shards[idx];
|
|
85
76
|
if (action === "move_to_dlq" /* StallAction.MoveToDlq */) {
|
|
86
77
|
moveStalliedJobToDlq(job, ctx, shard, procIdx, idx);
|
|
@@ -88,8 +79,22 @@ async function handleStalledJob(job, action, ctx) {
|
|
|
88
79
|
else {
|
|
89
80
|
retryStalliedJob(job, ctx, shard, procIdx, idx);
|
|
90
81
|
}
|
|
82
|
+
handled = true;
|
|
91
83
|
});
|
|
92
84
|
});
|
|
85
|
+
// Broadcast events AFTER confirming job is actually stalled and handled
|
|
86
|
+
if (handled) {
|
|
87
|
+
ctx.eventsManager.broadcast({
|
|
88
|
+
eventType: "stalled" /* EventType.Stalled */,
|
|
89
|
+
queue: job.queue,
|
|
90
|
+
jobId: job.id,
|
|
91
|
+
timestamp: Date.now(),
|
|
92
|
+
data: { stallCount: job.stallCount + 1, action },
|
|
93
|
+
});
|
|
94
|
+
void ctx.webhookManager.trigger('stalled', String(job.id), job.queue, {
|
|
95
|
+
data: { stallCount: job.stallCount + 1, action },
|
|
96
|
+
});
|
|
97
|
+
}
|
|
93
98
|
}
|
|
94
99
|
/** Move stalled job to DLQ */
|
|
95
100
|
function moveStalliedJobToDlq(job, ctx, shard, procIdx, _idx) {
|
|
@@ -99,7 +104,7 @@ function moveStalliedJobToDlq(job, ctx, shard, procIdx, _idx) {
|
|
|
99
104
|
stallCount: job.stallCount,
|
|
100
105
|
});
|
|
101
106
|
ctx.processingShards[procIdx].delete(job.id);
|
|
102
|
-
shard.
|
|
107
|
+
shard.releaseJobResources(job.queue, job.uniqueKey, job.groupId);
|
|
103
108
|
const entry = shard.addToDlq(job, "stalled" /* FailureReason.Stalled */, `Job stalled ${job.stallCount + 1} times`);
|
|
104
109
|
ctx.jobIndex.set(job.id, { type: 'dlq', queueName: job.queue });
|
|
105
110
|
ctx.storage?.saveDlqEntry(entry);
|
|
@@ -118,7 +123,7 @@ function retryStalliedJob(job, ctx, shard, procIdx, idx) {
|
|
|
118
123
|
attempt: job.attempts,
|
|
119
124
|
});
|
|
120
125
|
ctx.processingShards[procIdx].delete(job.id);
|
|
121
|
-
shard.
|
|
126
|
+
shard.releaseJobResources(job.queue, job.uniqueKey, job.groupId);
|
|
122
127
|
shard.getQueue(job.queue).push(job);
|
|
123
128
|
const isDelayed = job.runAt > Date.now();
|
|
124
129
|
shard.incrementQueued(job.id, isDelayed, job.createdAt, job.queue, job.runAt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stallDetection.js","sourceRoot":"","sources":["../../src/application/stallDetection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAe,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGzF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,gBAAgB,GAA6C,EAAE,CAAC;IAEtE,+DAA+D;IAC/D,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"stallDetection.js","sourceRoot":"","sources":["../../src/application/stallDetection.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export const DEFAULT_CONFIG = {
|
|
|
9
9
|
maxWaitingDeps: 10_000,
|
|
10
10
|
cleanupIntervalMs: 10_000,
|
|
11
11
|
jobTimeoutCheckMs: 5_000,
|
|
12
|
-
dependencyCheckMs:
|
|
12
|
+
dependencyCheckMs: 100, // Reduced from 1000ms for faster chain dependency resolution
|
|
13
13
|
stallCheckMs: 5_000,
|
|
14
14
|
dlqMaintenanceMs: 60_000,
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/application/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2BH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,MAAM;IACxB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,MAAM;IACtB,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,KAAK;IACxB,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/application/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2BH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,MAAM;IACxB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,MAAM;IACtB,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,KAAK;IACxB,iBAAiB,EAAE,GAAG,EAAE,6DAA6D;IACrF,YAAY,EAAE,KAAK;IACnB,gBAAgB,EAAE,MAAM;CACzB,CAAC"}
|
|
@@ -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;AA4CjC;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IAErD,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;IAgB9B,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"}
|
|
@@ -6,6 +6,12 @@ import { createWebhook, } from '../domain/types/webhook';
|
|
|
6
6
|
import { webhookLog } from '../shared/logger';
|
|
7
7
|
/** Singleton TextEncoder for HMAC operations */
|
|
8
8
|
const textEncoder = new TextEncoder();
|
|
9
|
+
/** Maximum webhook delivery retries (configurable via WEBHOOK_MAX_RETRIES env var) */
|
|
10
|
+
const WEBHOOK_MAX_RETRIES = parseInt(process.env.WEBHOOK_MAX_RETRIES ?? '3', 10);
|
|
11
|
+
/** Delay between webhook retries in ms (configurable via WEBHOOK_RETRY_DELAY_MS env var) */
|
|
12
|
+
const WEBHOOK_RETRY_DELAY_MS = parseInt(process.env.WEBHOOK_RETRY_DELAY_MS ?? '1000', 10);
|
|
13
|
+
/** Maximum number of cached crypto keys to prevent unbounded growth */
|
|
14
|
+
const MAX_KEY_CACHE_SIZE = 100;
|
|
9
15
|
/** Cache for imported crypto keys - avoids expensive importKey per request */
|
|
10
16
|
const keyCache = new Map();
|
|
11
17
|
/** HMAC-SHA256 signature with key caching */
|
|
@@ -13,6 +19,12 @@ async function signPayload(payload, secret) {
|
|
|
13
19
|
// Get cached key or import new one
|
|
14
20
|
let key = keyCache.get(secret);
|
|
15
21
|
if (!key) {
|
|
22
|
+
// Evict oldest entry if cache is full (LRU-style using Map insertion order)
|
|
23
|
+
if (keyCache.size >= MAX_KEY_CACHE_SIZE) {
|
|
24
|
+
const firstKey = keyCache.keys().next().value;
|
|
25
|
+
if (firstKey)
|
|
26
|
+
keyCache.delete(firstKey);
|
|
27
|
+
}
|
|
16
28
|
key = await crypto.subtle.importKey('raw', textEncoder.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
17
29
|
keyCache.set(secret, key);
|
|
18
30
|
}
|
|
@@ -26,8 +38,8 @@ async function signPayload(payload, secret) {
|
|
|
26
38
|
*/
|
|
27
39
|
export class WebhookManager {
|
|
28
40
|
webhooks = new Map();
|
|
29
|
-
maxRetries =
|
|
30
|
-
retryDelay =
|
|
41
|
+
maxRetries = WEBHOOK_MAX_RETRIES;
|
|
42
|
+
retryDelay = WEBHOOK_RETRY_DELAY_MS;
|
|
31
43
|
/** Running counter for enabled webhooks - avoids O(n) filter in getStats */
|
|
32
44
|
enabledCount = 0;
|
|
33
45
|
/** Add a webhook */
|
|
@@ -46,6 +58,10 @@ export class WebhookManager {
|
|
|
46
58
|
if (webhook?.enabled) {
|
|
47
59
|
this.enabledCount--;
|
|
48
60
|
}
|
|
61
|
+
// Clean up cached crypto key for this webhook's secret
|
|
62
|
+
if (webhook?.secret) {
|
|
63
|
+
keyCache.delete(webhook.secret);
|
|
64
|
+
}
|
|
49
65
|
const removed = this.webhooks.delete(id);
|
|
50
66
|
if (removed) {
|
|
51
67
|
webhookLog.info('Removed webhook', { webhookId: id });
|
|
@@ -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,gDAAgD;AAChD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE9C,6CAA6C;AAC7C,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,MAAc;IACxD,mCAAmC;IACnC,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACjC,KAAK,EACL,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAC1B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;SACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,cAAc;IACR,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IACzC,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"webhookManager.js","sourceRoot":"","sources":["../../src/application/webhookManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAWlF;;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"}
|
|
@@ -6,7 +6,9 @@ import { createWorker } from '../domain/types/worker';
|
|
|
6
6
|
import { createLogger } from '../shared/logger';
|
|
7
7
|
const workerLog = createLogger('Worker');
|
|
8
8
|
/** Worker timeout - consider dead after this many ms without heartbeat */
|
|
9
|
-
const WORKER_TIMEOUT_MS =
|
|
9
|
+
const WORKER_TIMEOUT_MS = parseInt(process.env.WORKER_TIMEOUT_MS ?? '30000', 10);
|
|
10
|
+
/** Cleanup interval for stale workers */
|
|
11
|
+
const WORKER_CLEANUP_INTERVAL_MS = parseInt(process.env.WORKER_CLEANUP_INTERVAL_MS ?? '60000', 10);
|
|
10
12
|
/**
|
|
11
13
|
* Worker Manager
|
|
12
14
|
*/
|
|
@@ -104,7 +106,7 @@ export class WorkerManager {
|
|
|
104
106
|
startCleanup() {
|
|
105
107
|
this.cleanupInterval = setInterval(() => {
|
|
106
108
|
this.cleanupStale();
|
|
107
|
-
},
|
|
109
|
+
}, WORKER_CLEANUP_INTERVAL_MS);
|
|
108
110
|
}
|
|
109
111
|
/** Remove stale workers */
|
|
110
112
|
cleanupStale() {
|