bunqueue 2.8.0 → 2.8.1
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 +26 -11
- package/dist/application/backgroundTasks.d.ts.map +1 -1
- package/dist/application/backgroundTasks.js +83 -0
- package/dist/application/backgroundTasks.js.map +1 -1
- package/dist/application/clientTracking.d.ts +23 -0
- package/dist/application/clientTracking.d.ts.map +1 -1
- package/dist/application/clientTracking.js +80 -25
- package/dist/application/clientTracking.js.map +1 -1
- package/dist/application/contextFactory.d.ts +6 -0
- package/dist/application/contextFactory.d.ts.map +1 -1
- package/dist/application/contextFactory.js +7 -0
- package/dist/application/contextFactory.js.map +1 -1
- package/dist/application/dlqManager.d.ts.map +1 -1
- package/dist/application/dlqManager.js +5 -0
- package/dist/application/dlqManager.js.map +1 -1
- package/dist/application/eventsManager.js.map +1 -1
- package/dist/application/lockManager.d.ts +1 -1
- package/dist/application/lockManager.d.ts.map +1 -1
- package/dist/application/lockManager.js +1 -1
- package/dist/application/lockManager.js.map +1 -1
- package/dist/application/operations/ack.d.ts.map +1 -1
- package/dist/application/operations/ack.js +32 -33
- package/dist/application/operations/ack.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 +3 -2
- package/dist/application/operations/jobManagement.js.map +1 -1
- package/dist/application/operations/push.js.map +1 -1
- package/dist/application/operations/queryOperations.d.ts.map +1 -1
- package/dist/application/operations/queryOperations.js +37 -3
- package/dist/application/operations/queryOperations.js.map +1 -1
- package/dist/application/operations/queueControl.d.ts +16 -4
- package/dist/application/operations/queueControl.d.ts.map +1 -1
- package/dist/application/operations/queueControl.js +119 -23
- package/dist/application/operations/queueControl.js.map +1 -1
- package/dist/application/queueManager.d.ts +17 -3
- package/dist/application/queueManager.d.ts.map +1 -1
- package/dist/application/queueManager.js +106 -27
- package/dist/application/queueManager.js.map +1 -1
- package/dist/application/stallDetection.js +1 -0
- package/dist/application/stallDetection.js.map +1 -1
- package/dist/application/types.d.ts +2 -1
- package/dist/application/types.d.ts.map +1 -1
- package/dist/cli/client.d.ts.map +1 -1
- package/dist/cli/client.js +15 -2
- package/dist/cli/client.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +31 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/output.d.ts +1 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +71 -9
- package/dist/cli/output.js.map +1 -1
- package/dist/client/bunqueue/batch.js +2 -2
- package/dist/client/bunqueue/batch.js.map +1 -1
- package/dist/client/bunqueue.d.ts.map +1 -1
- package/dist/client/bunqueue.js +3 -3
- package/dist/client/bunqueue.js.map +1 -1
- package/dist/client/flow.d.ts.map +1 -1
- package/dist/client/flow.js +3 -1
- package/dist/client/flow.js.map +1 -1
- package/dist/client/flowJobFactory.d.ts +8 -1
- package/dist/client/flowJobFactory.d.ts.map +1 -1
- package/dist/client/flowJobFactory.js +328 -56
- package/dist/client/flowJobFactory.js.map +1 -1
- package/dist/client/flowPush.d.ts.map +1 -1
- package/dist/client/flowPush.js +95 -46
- package/dist/client/flowPush.js.map +1 -1
- package/dist/client/jobConversion.d.ts.map +1 -1
- package/dist/client/jobConversion.js +12 -4
- package/dist/client/jobConversion.js.map +1 -1
- package/dist/client/queue/bullmqCompat.d.ts +1 -0
- package/dist/client/queue/bullmqCompat.d.ts.map +1 -1
- package/dist/client/queue/dlq.js.map +1 -1
- package/dist/client/queue/dlqOps.d.ts.map +1 -1
- package/dist/client/queue/dlqOps.js.map +1 -1
- package/dist/client/queue/helpers.js.map +1 -1
- package/dist/client/queue/jobProxy.d.ts +22 -3
- package/dist/client/queue/jobProxy.d.ts.map +1 -1
- package/dist/client/queue/jobProxy.js +347 -66
- package/dist/client/queue/jobProxy.js.map +1 -1
- package/dist/client/queue/operations/add.d.ts +1 -0
- package/dist/client/queue/operations/add.d.ts.map +1 -1
- package/dist/client/queue/operations/add.js +126 -29
- package/dist/client/queue/operations/add.js.map +1 -1
- package/dist/client/queue/operations/management.d.ts +1 -1
- package/dist/client/queue/operations/management.d.ts.map +1 -1
- package/dist/client/queue/operations/management.js +27 -9
- package/dist/client/queue/operations/management.js.map +1 -1
- package/dist/client/queue/operations/query.d.ts +12 -0
- package/dist/client/queue/operations/query.d.ts.map +1 -1
- package/dist/client/queue/operations/query.js +44 -4
- package/dist/client/queue/operations/query.js.map +1 -1
- package/dist/client/queue/queue.d.ts.map +1 -1
- package/dist/client/queue/queue.js +8 -1
- package/dist/client/queue/queue.js.map +1 -1
- package/dist/client/queue/scheduler.d.ts +2 -0
- package/dist/client/queue/scheduler.d.ts.map +1 -1
- package/dist/client/queue/scheduler.js +28 -0
- package/dist/client/queue/scheduler.js.map +1 -1
- package/dist/client/queue/stall.js.map +1 -1
- package/dist/client/sandboxed/worker.d.ts.map +1 -1
- package/dist/client/sandboxed/worker.js +57 -15
- 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 +62 -10
- package/dist/client/sandboxed/wrapper.js.map +1 -1
- package/dist/client/tcp/client.d.ts +9 -0
- package/dist/client/tcp/client.d.ts.map +1 -1
- package/dist/client/tcp/client.js +84 -28
- package/dist/client/tcp/client.js.map +1 -1
- package/dist/client/tcp/connection.d.ts.map +1 -1
- package/dist/client/tcp/connection.js +6 -1
- package/dist/client/tcp/connection.js.map +1 -1
- package/dist/client/tcp/types.d.ts +7 -0
- package/dist/client/tcp/types.d.ts.map +1 -1
- package/dist/client/types.d.ts +8 -4
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js.map +1 -1
- package/dist/client/worker/ackBatcher.d.ts.map +1 -1
- package/dist/client/worker/ackBatcher.js +18 -8
- package/dist/client/worker/ackBatcher.js.map +1 -1
- package/dist/client/worker/processor.d.ts.map +1 -1
- package/dist/client/worker/processor.js +54 -99
- package/dist/client/worker/processor.js.map +1 -1
- package/dist/client/worker/processorHandlers.d.ts +55 -0
- package/dist/client/worker/processorHandlers.d.ts.map +1 -0
- package/dist/client/worker/processorHandlers.js +373 -0
- package/dist/client/worker/processorHandlers.js.map +1 -0
- package/dist/client/workflow/compensator.d.ts +15 -0
- package/dist/client/workflow/compensator.d.ts.map +1 -0
- package/dist/client/workflow/compensator.js +46 -0
- package/dist/client/workflow/compensator.js.map +1 -0
- package/dist/client/workflow/emitter.d.ts.map +1 -1
- package/dist/client/workflow/emitter.js +15 -3
- package/dist/client/workflow/emitter.js.map +1 -1
- package/dist/client/workflow/engine.d.ts +8 -1
- package/dist/client/workflow/engine.d.ts.map +1 -1
- package/dist/client/workflow/engine.js +9 -0
- package/dist/client/workflow/engine.js.map +1 -1
- package/dist/client/workflow/executor.d.ts +5 -2
- package/dist/client/workflow/executor.d.ts.map +1 -1
- package/dist/client/workflow/executor.js +43 -60
- package/dist/client/workflow/executor.js.map +1 -1
- package/dist/client/workflow/index.d.ts +1 -1
- package/dist/client/workflow/index.d.ts.map +1 -1
- package/dist/client/workflow/loops.d.ts +1 -1
- package/dist/client/workflow/loops.d.ts.map +1 -1
- package/dist/client/workflow/loops.js +10 -1
- package/dist/client/workflow/loops.js.map +1 -1
- package/dist/client/workflow/recovery.d.ts +23 -0
- package/dist/client/workflow/recovery.d.ts.map +1 -0
- package/dist/client/workflow/recovery.js +74 -0
- package/dist/client/workflow/recovery.js.map +1 -0
- package/dist/client/workflow/runner.d.ts.map +1 -1
- package/dist/client/workflow/runner.js +7 -5
- package/dist/client/workflow/runner.js.map +1 -1
- package/dist/client/workflow/store.d.ts +2 -0
- package/dist/client/workflow/store.d.ts.map +1 -1
- package/dist/client/workflow/store.js +6 -0
- package/dist/client/workflow/store.js.map +1 -1
- package/dist/client/workflow/types.d.ts +41 -22
- package/dist/client/workflow/types.d.ts.map +1 -1
- package/dist/client/workflow/workflow.d.ts +17 -14
- package/dist/client/workflow/workflow.d.ts.map +1 -1
- package/dist/client/workflow/workflow.js +30 -20
- package/dist/client/workflow/workflow.js.map +1 -1
- package/dist/domain/queue/dlqShard.d.ts.map +1 -1
- package/dist/domain/queue/dlqShard.js +6 -0
- package/dist/domain/queue/dlqShard.js.map +1 -1
- package/dist/domain/queue/priorityQueue.d.ts +2 -2
- package/dist/domain/queue/priorityQueue.d.ts.map +1 -1
- package/dist/domain/queue/priorityQueue.js +5 -3
- package/dist/domain/queue/priorityQueue.js.map +1 -1
- package/dist/domain/types/command.d.ts +22 -0
- package/dist/domain/types/command.d.ts.map +1 -1
- package/dist/domain/types/cron.d.ts +21 -0
- package/dist/domain/types/cron.d.ts.map +1 -1
- package/dist/domain/types/cron.js +1 -0
- package/dist/domain/types/cron.js.map +1 -1
- package/dist/domain/types/job.d.ts.map +1 -1
- package/dist/domain/types/job.js +9 -2
- package/dist/domain/types/job.js.map +1 -1
- package/dist/domain/types/response.d.ts +2 -0
- package/dist/domain/types/response.d.ts.map +1 -1
- package/dist/domain/types/response.js.map +1 -1
- package/dist/infrastructure/backup/s3BackupOperations.d.ts.map +1 -1
- package/dist/infrastructure/backup/s3BackupOperations.js +44 -6
- package/dist/infrastructure/backup/s3BackupOperations.js.map +1 -1
- package/dist/infrastructure/cloud/cloudAgent.d.ts +1 -1
- package/dist/infrastructure/cloud/cloudAgent.d.ts.map +1 -1
- package/dist/infrastructure/cloud/cloudAgent.js +9 -11
- package/dist/infrastructure/cloud/cloudAgent.js.map +1 -1
- package/dist/infrastructure/cloud/commands.js +2 -2
- package/dist/infrastructure/cloud/commands.js.map +1 -1
- package/dist/infrastructure/cloud/redact.d.ts +11 -0
- package/dist/infrastructure/cloud/redact.d.ts.map +1 -0
- package/dist/infrastructure/cloud/redact.js +22 -0
- package/dist/infrastructure/cloud/redact.js.map +1 -0
- package/dist/infrastructure/cloud/snapshotCollector.d.ts +4 -0
- package/dist/infrastructure/cloud/snapshotCollector.d.ts.map +1 -1
- package/dist/infrastructure/cloud/snapshotCollector.js +32 -17
- package/dist/infrastructure/cloud/snapshotCollector.js.map +1 -1
- package/dist/infrastructure/cloud/snapshotHelpers.d.ts +9 -2
- package/dist/infrastructure/cloud/snapshotHelpers.d.ts.map +1 -1
- package/dist/infrastructure/cloud/snapshotHelpers.js +10 -8
- package/dist/infrastructure/cloud/snapshotHelpers.js.map +1 -1
- package/dist/infrastructure/persistence/schema.d.ts +2 -2
- package/dist/infrastructure/persistence/schema.d.ts.map +1 -1
- package/dist/infrastructure/persistence/schema.js +16 -2
- package/dist/infrastructure/persistence/schema.js.map +1 -1
- package/dist/infrastructure/persistence/sqlite.d.ts +54 -1
- package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqlite.js +174 -2
- package/dist/infrastructure/persistence/sqlite.js.map +1 -1
- package/dist/infrastructure/persistence/sqliteBatch.d.ts +14 -0
- package/dist/infrastructure/persistence/sqliteBatch.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqliteBatch.js +29 -0
- package/dist/infrastructure/persistence/sqliteBatch.js.map +1 -1
- package/dist/infrastructure/persistence/sqliteSerializer.d.ts +16 -0
- package/dist/infrastructure/persistence/sqliteSerializer.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqliteSerializer.js +73 -8
- package/dist/infrastructure/persistence/sqliteSerializer.js.map +1 -1
- package/dist/infrastructure/persistence/statements.d.ts +2 -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.map +1 -1
- package/dist/infrastructure/scheduler/cronScheduler.js +19 -1
- package/dist/infrastructure/scheduler/cronScheduler.js.map +1 -1
- package/dist/infrastructure/server/handlers/advanced.d.ts +7 -1
- package/dist/infrastructure/server/handlers/advanced.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/advanced.js +41 -10
- package/dist/infrastructure/server/handlers/advanced.js.map +1 -1
- package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/core.js +8 -0
- package/dist/infrastructure/server/handlers/core.js.map +1 -1
- package/dist/infrastructure/server/handlers/cron.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/cron.js +1 -0
- package/dist/infrastructure/server/handlers/cron.js.map +1 -1
- package/dist/infrastructure/server/handlers/dashboard.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/dashboard.js +1 -0
- package/dist/infrastructure/server/handlers/dashboard.js.map +1 -1
- package/dist/infrastructure/server/handlers/dlq.js.map +1 -1
- package/dist/infrastructure/server/handlers/management.d.ts +1 -1
- package/dist/infrastructure/server/handlers/management.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/management.js +27 -12
- package/dist/infrastructure/server/handlers/management.js.map +1 -1
- package/dist/infrastructure/server/handlers/monitoring.js.map +1 -1
- package/dist/infrastructure/server/handlers/query.js.map +1 -1
- package/dist/infrastructure/server/httpRouteJobs.js.map +1 -1
- package/dist/infrastructure/server/httpRouteQueueConfig.js.map +1 -1
- package/dist/infrastructure/server/httpRouteQueues.js.map +1 -1
- package/dist/infrastructure/server/httpRouteResources.js.map +1 -1
- package/dist/infrastructure/server/protocol.d.ts +4 -0
- package/dist/infrastructure/server/protocol.d.ts.map +1 -1
- package/dist/infrastructure/server/protocol.js +17 -2
- package/dist/infrastructure/server/protocol.js.map +1 -1
- package/dist/infrastructure/server/socketWriteQueue.d.ts +67 -0
- package/dist/infrastructure/server/socketWriteQueue.d.ts.map +1 -0
- package/dist/infrastructure/server/socketWriteQueue.js +127 -0
- package/dist/infrastructure/server/socketWriteQueue.js.map +1 -0
- package/dist/infrastructure/server/tcp.d.ts +17 -0
- package/dist/infrastructure/server/tcp.d.ts.map +1 -1
- package/dist/infrastructure/server/tcp.js +112 -14
- package/dist/infrastructure/server/tcp.js.map +1 -1
- package/dist/infrastructure/server/wsHandler.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +48 -43
- package/dist/main.js.map +1 -1
- package/dist/mcp/adapter.d.ts +3 -3
- package/dist/mcp/adapter.d.ts.map +1 -1
- package/dist/mcp/adapter.js +48 -15
- package/dist/mcp/adapter.js.map +1 -1
- package/dist/mcp/index.d.ts +3 -3
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +26 -89
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server.d.ts +16 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +101 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/queueTools.d.ts.map +1 -1
- package/dist/mcp/tools/queueTools.js +6 -3
- package/dist/mcp/tools/queueTools.js.map +1 -1
- package/dist/mcp/tools/webhookTools.js +1 -1
- package/dist/mcp/tools/webhookTools.js.map +1 -1
- package/dist/shared/lock.d.ts.map +1 -1
- package/dist/shared/lock.js +15 -0
- package/dist/shared/lock.js.map +1 -1
- package/package.json +12 -7
package/README.md
CHANGED
|
@@ -537,26 +537,32 @@ await engine.start('order-pipeline', { orderId: 'ORD-1', amount: 99.99 });
|
|
|
537
537
|
|
|
538
538
|
**vs Competitors:**
|
|
539
539
|
|
|
540
|
-
| | **bunqueue** | **Temporal** | **Inngest** | **
|
|
540
|
+
| | **bunqueue** | **Temporal** | **Inngest** | **Trigger.dev** |
|
|
541
541
|
|---|---|---|---|---|
|
|
542
|
-
| **Infrastructure** | None (embedded) | PostgreSQL + 7 services | Cloud-only |
|
|
542
|
+
| **Infrastructure** | None (embedded) | PostgreSQL + 7 services | Cloud-only | Redis + PostgreSQL |
|
|
543
543
|
| **Saga compensation** | Built-in | Manual | Manual | Manual |
|
|
544
|
-
| **Human-in-the-loop** | `.waitFor()` | Signals API | `step.waitForEvent()` |
|
|
545
|
-
| **Self-hosted** | Zero-config | Complex | No |
|
|
546
|
-
| **Pricing** | Free (MIT) | Free / Cloud $$ | Per-execution |
|
|
544
|
+
| **Human-in-the-loop** | `.waitFor()` | Signals API | `step.waitForEvent()` | Waitpoint tokens |
|
|
545
|
+
| **Self-hosted** | Zero-config | Complex | No | Complex |
|
|
546
|
+
| **Pricing** | Free (MIT) | Free / Cloud $$ | Per-execution | Free tier, then $50/mo+ |
|
|
547
547
|
|
|
548
548
|
```typescript
|
|
549
549
|
// Branching
|
|
550
550
|
const flow = new Workflow('tiered')
|
|
551
|
-
.step('classify', async (ctx) =>
|
|
552
|
-
|
|
551
|
+
.step('classify', async (ctx) => {
|
|
552
|
+
const { amount } = ctx.input as { amount: number };
|
|
553
|
+
return { tier: amount > 1000 ? 'vip' : 'basic' };
|
|
554
|
+
})
|
|
555
|
+
.branch((ctx) => (ctx.steps['classify'] as { tier: string }).tier)
|
|
553
556
|
.path('vip', (w) => w.step('vip-handler', async () => ({ discount: 20 })))
|
|
554
557
|
.path('basic', (w) => w.step('basic-handler', async () => ({ discount: 0 })))
|
|
555
558
|
.step('done', async () => ({ processed: true }));
|
|
556
559
|
|
|
557
560
|
// Human-in-the-loop
|
|
558
561
|
const approvalFlow = new Workflow('expense')
|
|
559
|
-
.step('submit', async (ctx) =>
|
|
562
|
+
.step('submit', async (ctx) => {
|
|
563
|
+
const { amount } = ctx.input as { amount: number };
|
|
564
|
+
return { amount };
|
|
565
|
+
})
|
|
560
566
|
.waitFor('manager-approval')
|
|
561
567
|
.step('reimburse', async (ctx) => {
|
|
562
568
|
const decision = ctx.signals['manager-approval'] as { approved: boolean };
|
|
@@ -596,6 +602,7 @@ https://github.com/user-attachments/assets/e8a8d38e-b4a6-4dc8-8360-876c0f24d116
|
|
|
596
602
|
- **MCP server included** — 73 tools, 5 resources, 3 prompts. AI agents get full control out of the box
|
|
597
603
|
- **BullMQ-compatible API** — Same `Queue`, `Worker`, `QueueEvents`
|
|
598
604
|
- **Zero dependencies** — No Redis, no MongoDB
|
|
605
|
+
- **Tiny footprint** — 8.2 MB installed, 7 packages (just 2 runtime deps: `croner` + `msgpackr`)
|
|
599
606
|
- **SQLite persistence** — Survives restarts, WAL mode for concurrent access
|
|
600
607
|
- **Up to 286K ops/sec** — [Verified benchmarks](https://bunqueue.dev/guide/benchmarks/)
|
|
601
608
|
|
|
@@ -620,17 +627,25 @@ bunqueue is the **first job queue with native MCP support**. AI agents get a ful
|
|
|
620
627
|
- **HTTP handlers** — register a URL, bunqueue auto-processes jobs via HTTP calls
|
|
621
628
|
|
|
622
629
|
```bash
|
|
623
|
-
#
|
|
630
|
+
# bunqueue-mcp is a binary bundled inside the bunqueue package (not a standalone npm package),
|
|
631
|
+
# so install bunqueue first, then connect Claude Code:
|
|
632
|
+
bun add bunqueue
|
|
633
|
+
# Since v2.8.0 the MCP SDK is an optional peer dependency. Queue-only users skip it entirely:
|
|
634
|
+
# a clean install drops from 93 MB / 117 packages to 8.2 MB / 7 packages (−91%, 3.8x faster).
|
|
635
|
+
# bunx --package=bunqueue does NOT auto-install optional peers, so install the SDK once to run the MCP server:
|
|
636
|
+
bun add @modelcontextprotocol/sdk
|
|
624
637
|
claude mcp add bunqueue -- bunx bunqueue-mcp
|
|
625
638
|
```
|
|
626
639
|
|
|
627
640
|
```json
|
|
628
|
-
// Claude Desktop / Cursor / Windsurf —
|
|
641
|
+
// Claude Desktop / Cursor / Windsurf — --package=bunqueue lets bunx resolve the bundled
|
|
642
|
+
// bunqueue-mcp binary without a separate install (the @modelcontextprotocol/sdk optional
|
|
643
|
+
// peer dependency must still be installed once: bun add @modelcontextprotocol/sdk):
|
|
629
644
|
{
|
|
630
645
|
"mcpServers": {
|
|
631
646
|
"bunqueue": {
|
|
632
647
|
"command": "bunx",
|
|
633
|
-
"args": ["bunqueue-mcp"]
|
|
648
|
+
"args": ["--package=bunqueue", "bunqueue-mcp"]
|
|
634
649
|
}
|
|
635
650
|
}
|
|
636
651
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundTasks.d.ts","sourceRoot":"","sources":["../../src/application/backgroundTasks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAsC,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"backgroundTasks.d.ts","sourceRoot":"","sources":["../../src/application/backgroundTasks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAsC,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAChD,eAAe,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAChD,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACjD,kBAAkB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACnD,sBAAsB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACvD,iBAAiB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAClD,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,EACtB,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CAmEvB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAQxE;AA8FD,wBAAgB,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAkMpD;AAGD,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { queueLog } from '../shared/logger';
|
|
6
6
|
import { shardIndex } from '../shared/hash';
|
|
7
|
+
import { createDlqEntry } from '../domain/types/dlq';
|
|
7
8
|
import { calculateBackoff } from '../domain/types/job';
|
|
8
9
|
import * as dlqOps from './dlqManager';
|
|
9
10
|
import { checkExpiredLocks } from './lockManager';
|
|
@@ -12,6 +13,7 @@ import { checkStalledJobs } from './stallDetection';
|
|
|
12
13
|
import { processPendingDependencies } from './dependencyProcessor';
|
|
13
14
|
import { handleTaskError, handleTaskSuccess, getTaskErrorStats } from './taskErrorTracking';
|
|
14
15
|
import { runMonitoringChecks } from './monitoringChecks';
|
|
16
|
+
import { isCorruptDependsOn } from '../infrastructure/persistence/sqliteSerializer';
|
|
15
17
|
export { getTaskErrorStats };
|
|
16
18
|
/**
|
|
17
19
|
* Start all background tasks
|
|
@@ -151,12 +153,40 @@ function performDlqMaintenance(ctx) {
|
|
|
151
153
|
// ============ Recovery ============
|
|
152
154
|
/** Batch size for paginated recovery */
|
|
153
155
|
const RECOVERY_BATCH_SIZE = 10000;
|
|
156
|
+
/**
|
|
157
|
+
* Route a job whose `depends_on` blob was corrupt on disk straight to the DLQ.
|
|
158
|
+
*
|
|
159
|
+
* Its real dependency metadata is unrecoverable, so it must never be enqueued
|
|
160
|
+
* as "ready" (out-of-order execution) nor parked in waitingDeps behind a
|
|
161
|
+
* dependency that can never complete (an unbounded leak).
|
|
162
|
+
*
|
|
163
|
+
* We persist the DLQ entry to disk and drop the jobs row here, but do NOT add
|
|
164
|
+
* it to the in-memory DLQ — the later `loadDlq()` pass (which runs after both
|
|
165
|
+
* recovery phases) restores every persisted entry into memory exactly once.
|
|
166
|
+
* Adding it here too would double-count it. The job row is deleted so that pass
|
|
167
|
+
* sees only the DLQ table.
|
|
168
|
+
*/
|
|
169
|
+
function quarantineCorruptDependsOn(ctx, job) {
|
|
170
|
+
if (!ctx.storage)
|
|
171
|
+
return;
|
|
172
|
+
const entry = createDlqEntry(job, "unknown" /* FailureReason.Unknown */, 'corrupt-dependency-metadata');
|
|
173
|
+
ctx.storage.saveDlqEntry(entry);
|
|
174
|
+
ctx.storage.deleteJob(job.id);
|
|
175
|
+
ctx.registerQueueName(job.queue);
|
|
176
|
+
queueLog.error('Recovered job with corrupt depends_on metadata -> routed to DLQ', {
|
|
177
|
+
jobId: String(job.id),
|
|
178
|
+
queue: job.queue,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
154
181
|
// eslint-disable-next-line complexity
|
|
155
182
|
export function recover(ctx) {
|
|
156
183
|
if (!ctx.storage)
|
|
157
184
|
return;
|
|
158
185
|
// Load completed job IDs from SQLite for dependency checking
|
|
159
186
|
const completedInDb = ctx.storage.loadCompletedJobIds();
|
|
187
|
+
// Load DLQ job IDs so Phase 1 can skip stale active rows for DLQ'd jobs
|
|
188
|
+
// (legacy DBs predate the DLQ-row cleanup fix in failJob).
|
|
189
|
+
const dlqJobIds = ctx.storage.loadDlqJobIds();
|
|
160
190
|
const now = Date.now();
|
|
161
191
|
// === PHASE 1: Recover active jobs (were processing when server stopped) ===
|
|
162
192
|
// These jobs are considered "stalled" and need to be retried or moved to DLQ
|
|
@@ -177,6 +207,21 @@ export function recover(ctx) {
|
|
|
177
207
|
ctx.registerQueueName(job.queue);
|
|
178
208
|
continue;
|
|
179
209
|
}
|
|
210
|
+
// Skip jobs already present in DLQ (stale 'active' row from before the
|
|
211
|
+
// failJob fix). Drop the orphan row so Phase 2 and subsequent queries
|
|
212
|
+
// don't double-count it.
|
|
213
|
+
if (dlqJobIds.has(job.id)) {
|
|
214
|
+
ctx.storage.deleteJob(job.id);
|
|
215
|
+
ctx.registerQueueName(job.queue);
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
// A corrupt depends_on blob makes the job's real dependencies
|
|
219
|
+
// unrecoverable: route it to the DLQ instead of retrying it (which could
|
|
220
|
+
// execute it out-of-order once stalls are exhausted).
|
|
221
|
+
if (isCorruptDependsOn(job)) {
|
|
222
|
+
quarantineCorruptDependsOn(ctx, job);
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
180
225
|
// Increment stall count (job was interrupted)
|
|
181
226
|
job.stallCount = (job.stallCount || 0) + 1;
|
|
182
227
|
job.attempts++;
|
|
@@ -216,6 +261,13 @@ export function recover(ctx) {
|
|
|
216
261
|
for (const job of jobs) {
|
|
217
262
|
const idx = shardIndex(job.queue);
|
|
218
263
|
const shard = ctx.shards[idx];
|
|
264
|
+
// A corrupt depends_on blob means the real dependencies are unrecoverable.
|
|
265
|
+
// Route the job to the DLQ rather than enqueuing it as ready (out-of-order
|
|
266
|
+
// execution) or parking it in waitingDeps forever (unbounded leak).
|
|
267
|
+
if (isCorruptDependsOn(job)) {
|
|
268
|
+
quarantineCorruptDependsOn(ctx, job);
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
219
271
|
// Check if job has unmet dependencies
|
|
220
272
|
// Check both in-memory completedJobs AND SQLite job_results table
|
|
221
273
|
const hasDependencies = job.dependsOn && job.dependsOn.length > 0;
|
|
@@ -257,9 +309,40 @@ export function recover(ctx) {
|
|
|
257
309
|
const shard = ctx.shards[idx];
|
|
258
310
|
for (const entry of entries) {
|
|
259
311
|
shard.restoreDlqEntry(queue, entry);
|
|
312
|
+
// Populate jobIndex so getJob/getJobState resolve DLQ'd jobs post-restart.
|
|
313
|
+
ctx.jobIndex.set(entry.job.id, { type: 'dlq', queueName: queue });
|
|
260
314
|
}
|
|
261
315
|
ctx.registerQueueName(queue);
|
|
262
316
|
}
|
|
317
|
+
// === PHASE 3: Recover completed jobs ===
|
|
318
|
+
// Required for clean('completed'), stats.completed, and in-memory lookups
|
|
319
|
+
// on jobs that completed before a server restart (issue #84).
|
|
320
|
+
// Capped at maxCompletedJobs (matches BoundedSet cap) so we don't exceed
|
|
321
|
+
// the in-memory budget when SQLite contains more rows than the cap.
|
|
322
|
+
// Note: we deliberately do NOT populate customIdMap here — Phase 2 owns
|
|
323
|
+
// dedup for pending jobs, and push.ts handles customId collision against
|
|
324
|
+
// completed jobs via the storage fallback. Touching customIdMap here would
|
|
325
|
+
// LRU-evict pending-job mappings when many completed jobs have customIds.
|
|
326
|
+
const completedCap = ctx.config.maxCompletedJobs;
|
|
327
|
+
let completedLoaded = 0;
|
|
328
|
+
let completedOffset = 0;
|
|
329
|
+
while (completedLoaded < completedCap) {
|
|
330
|
+
const remaining = completedCap - completedLoaded;
|
|
331
|
+
const batchSize = Math.min(RECOVERY_BATCH_SIZE, remaining);
|
|
332
|
+
const completedBatch = ctx.storage.loadCompletedJobs(batchSize, completedOffset);
|
|
333
|
+
if (completedBatch.length === 0)
|
|
334
|
+
break;
|
|
335
|
+
for (const job of completedBatch) {
|
|
336
|
+
ctx.jobIndex.set(job.id, { type: 'completed', queueName: job.queue });
|
|
337
|
+
ctx.completedJobs.add(job.id);
|
|
338
|
+
ctx.completedJobsData.set(job.id, job);
|
|
339
|
+
ctx.registerQueueName(job.queue);
|
|
340
|
+
}
|
|
341
|
+
completedLoaded += completedBatch.length;
|
|
342
|
+
completedOffset += completedBatch.length;
|
|
343
|
+
if (completedBatch.length < batchSize)
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
263
346
|
}
|
|
264
347
|
// Re-export for backward compatibility
|
|
265
348
|
export { processPendingDependencies };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundTasks.js","sourceRoot":"","sources":["../../src/application/backgroundTasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backgroundTasks.js","sourceRoot":"","sources":["../../src/application/backgroundTasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,27 @@ export declare function unregisterClientJob(clientId: string | undefined, jobId:
|
|
|
19
19
|
* Uses proper locking to prevent race conditions.
|
|
20
20
|
*/
|
|
21
21
|
export declare function releaseClientJobs(clientId: string, ctx: LockContext): Promise<number>;
|
|
22
|
+
/**
|
|
23
|
+
* Force-release client tracking without acquiring queue locks.
|
|
24
|
+
* Used as a last-resort fallback when releaseClientJobs has exhausted its
|
|
25
|
+
* retry budget (e.g. persistent lock contention on TCP disconnect). For each
|
|
26
|
+
* orphaned job:
|
|
27
|
+
* - clears `jobLocks` so a stale lock token can't survive the disconnect
|
|
28
|
+
* until its TTL expires;
|
|
29
|
+
* - expires both `lastHeartbeat` (so stall detection's heartbeat check
|
|
30
|
+
* fires) and `startedAt` (so the gracePeriod check passes immediately).
|
|
31
|
+
*
|
|
32
|
+
* Recovery latency: stall detection uses two-phase confirmation
|
|
33
|
+
* (stalledCandidates collected on one tick, acted on the next), so a job is
|
|
34
|
+
* recovered within ~2 stall-check ticks (≈10s with defaults). This is faster
|
|
35
|
+
* than the full stallTimeout (30s default) but NOT instant.
|
|
36
|
+
*
|
|
37
|
+
* This path runs lock-free: callers must accept that another path (stall
|
|
38
|
+
* detector, lock expiration) may concurrently mutate or remove the same job
|
|
39
|
+
* from processingShards. Worst case: our mutation lands on an object that is
|
|
40
|
+
* no longer in the Map, wasting the write. Never corrupts state.
|
|
41
|
+
*
|
|
42
|
+
* Returns the number of jobs whose state was reset.
|
|
43
|
+
*/
|
|
44
|
+
export declare function forceReleaseClientJobs(clientId: string, ctx: LockContext): number;
|
|
22
45
|
//# sourceMappingURL=clientTracking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientTracking.d.ts","sourceRoot":"","sources":["../../src/application/clientTracking.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAO,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAOxF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,GACf,IAAI,CASN;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"clientTracking.d.ts","sourceRoot":"","sources":["../../src/application/clientTracking.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAO,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAOxF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,GACf,IAAI,CASN;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAqF3F;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CA0BjF"}
|
|
@@ -73,36 +73,91 @@ export async function releaseClientJobs(clientId, ctx) {
|
|
|
73
73
|
}
|
|
74
74
|
let released = 0;
|
|
75
75
|
const now = Date.now();
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
list
|
|
85
|
-
|
|
76
|
+
try {
|
|
77
|
+
// Phase 3: Process each processing shard with proper locking
|
|
78
|
+
// Lock order: shardLocks BEFORE processingLocks (per lock hierarchy in CLAUDE.md)
|
|
79
|
+
for (const [procIdx, items] of byProcShard) {
|
|
80
|
+
// Group items by queue shard to minimize lock acquisitions
|
|
81
|
+
const byQueueShard = new Map();
|
|
82
|
+
for (const item of items) {
|
|
83
|
+
let list = byQueueShard.get(item.queueShardIdx);
|
|
84
|
+
if (!list) {
|
|
85
|
+
list = [];
|
|
86
|
+
byQueueShard.set(item.queueShardIdx, list);
|
|
87
|
+
}
|
|
88
|
+
list.push(item);
|
|
86
89
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
90
|
+
// Acquire shard locks first, then processing lock
|
|
91
|
+
for (const [queueShardIdx, shardItems] of byQueueShard) {
|
|
92
|
+
await withWriteLock(ctx.shardLocks[queueShardIdx], async () => {
|
|
93
|
+
await withWriteLock(ctx.processingLocks[procIdx], () => {
|
|
94
|
+
for (const { jobId } of shardItems) {
|
|
95
|
+
const job = ctx.processingShards[procIdx].get(jobId);
|
|
96
|
+
if (!job)
|
|
97
|
+
continue;
|
|
98
|
+
released += releaseJobToQueue({ jobId, job, procIdx, queueShardIdx, ctx, now });
|
|
99
|
+
}
|
|
100
|
+
});
|
|
99
101
|
});
|
|
100
|
-
}
|
|
102
|
+
}
|
|
101
103
|
}
|
|
104
|
+
return released;
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
// Always clear client tracking, even if locking failed mid-flight.
|
|
108
|
+
// Prevents a leak in ctx.clientJobs that would otherwise accumulate
|
|
109
|
+
// across every TCP disconnect that hit a lock timeout. Jobs left in
|
|
110
|
+
// 'active' state will be recovered by the stall detector on its next tick.
|
|
111
|
+
ctx.clientJobs.delete(clientId);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Force-release client tracking without acquiring queue locks.
|
|
116
|
+
* Used as a last-resort fallback when releaseClientJobs has exhausted its
|
|
117
|
+
* retry budget (e.g. persistent lock contention on TCP disconnect). For each
|
|
118
|
+
* orphaned job:
|
|
119
|
+
* - clears `jobLocks` so a stale lock token can't survive the disconnect
|
|
120
|
+
* until its TTL expires;
|
|
121
|
+
* - expires both `lastHeartbeat` (so stall detection's heartbeat check
|
|
122
|
+
* fires) and `startedAt` (so the gracePeriod check passes immediately).
|
|
123
|
+
*
|
|
124
|
+
* Recovery latency: stall detection uses two-phase confirmation
|
|
125
|
+
* (stalledCandidates collected on one tick, acted on the next), so a job is
|
|
126
|
+
* recovered within ~2 stall-check ticks (≈10s with defaults). This is faster
|
|
127
|
+
* than the full stallTimeout (30s default) but NOT instant.
|
|
128
|
+
*
|
|
129
|
+
* This path runs lock-free: callers must accept that another path (stall
|
|
130
|
+
* detector, lock expiration) may concurrently mutate or remove the same job
|
|
131
|
+
* from processingShards. Worst case: our mutation lands on an object that is
|
|
132
|
+
* no longer in the Map, wasting the write. Never corrupts state.
|
|
133
|
+
*
|
|
134
|
+
* Returns the number of jobs whose state was reset.
|
|
135
|
+
*/
|
|
136
|
+
export function forceReleaseClientJobs(clientId, ctx) {
|
|
137
|
+
const jobs = ctx.clientJobs.get(clientId);
|
|
138
|
+
if (!jobs || jobs.size === 0) {
|
|
139
|
+
ctx.clientJobs.delete(clientId);
|
|
140
|
+
return 0;
|
|
141
|
+
}
|
|
142
|
+
let touched = 0;
|
|
143
|
+
for (const jobId of jobs) {
|
|
144
|
+
// Always drop any lock token for this job, even if the location is no
|
|
145
|
+
// longer 'processing' — prevents stale tokens from surviving.
|
|
146
|
+
ctx.jobLocks.delete(jobId);
|
|
147
|
+
const loc = ctx.jobIndex.get(jobId);
|
|
148
|
+
if (loc?.type !== 'processing')
|
|
149
|
+
continue;
|
|
150
|
+
const job = ctx.processingShards[loc.shardIdx].get(jobId);
|
|
151
|
+
if (!job)
|
|
152
|
+
continue;
|
|
153
|
+
// Expire heartbeat AND startedAt so the stall detector's grace-period
|
|
154
|
+
// gate passes on the next eligible tick.
|
|
155
|
+
job.lastHeartbeat = 0;
|
|
156
|
+
job.startedAt = 0;
|
|
157
|
+
touched++;
|
|
102
158
|
}
|
|
103
|
-
// Clear client tracking
|
|
104
159
|
ctx.clientJobs.delete(clientId);
|
|
105
|
-
return
|
|
160
|
+
return touched;
|
|
106
161
|
}
|
|
107
162
|
/** Release a single job back to queue */
|
|
108
163
|
function releaseJobToQueue(opts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientTracking.js","sourceRoot":"","sources":["../../src/application/clientTracking.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,KAAY,EAAE,GAAgB;IAChF,IAAI,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA4B,EAC5B,KAAY,EACZ,GAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,GAAgB;IACxE,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,gEAAgE;IAChE,MAAM,aAAa,GAId,EAAE,CAAC;IAER,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,GAAG,EAAE,IAAI,KAAK,YAAY;YAAE,SAAS;QAEzC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,aAAa,CAAC,IAAI,CAAC;YACjB,KAAK;YACL,OAAO;YACP,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,6DAA6D;
|
|
1
|
+
{"version":3,"file":"clientTracking.js","sourceRoot":"","sources":["../../src/application/clientTracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,6 +105,12 @@ export declare class ContextFactory {
|
|
|
105
105
|
getQueueControlContext(): {
|
|
106
106
|
shards: Shard[];
|
|
107
107
|
jobIndex: Map<JobId, JobLocation>;
|
|
108
|
+
processingShards: Map<JobId, Job>[];
|
|
109
|
+
completedJobs: BoundedSet<JobId>;
|
|
110
|
+
completedJobsData: BoundedMap<JobId, Job>;
|
|
111
|
+
jobResults: LRUMap<JobId, unknown>;
|
|
112
|
+
jobLogs: LRUMap<JobId, JobLogEntry[]>;
|
|
113
|
+
storage: SqliteStorage | null;
|
|
108
114
|
};
|
|
109
115
|
}
|
|
110
116
|
//# sourceMappingURL=contextFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextFactory.d.ts","sourceRoot":"","sources":["../../src/application/contextFactory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contextFactory.d.ts","sourceRoot":"","sources":["../../src/application/contextFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ export class ContextFactory {
|
|
|
53
53
|
dashboardEmit: this.callbacks.emitDashboardEvent,
|
|
54
54
|
workerManager: this.deps.workerManager,
|
|
55
55
|
monitoringState: this.deps.monitoringState,
|
|
56
|
+
completedJobsData: this.deps.completedJobsData,
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
59
|
getStatsContext() {
|
|
@@ -179,6 +180,12 @@ export class ContextFactory {
|
|
|
179
180
|
return {
|
|
180
181
|
shards: this.deps.shards,
|
|
181
182
|
jobIndex: this.deps.jobIndex,
|
|
183
|
+
processingShards: this.deps.processingShards,
|
|
184
|
+
completedJobs: this.deps.completedJobs,
|
|
185
|
+
completedJobsData: this.deps.completedJobsData,
|
|
186
|
+
jobResults: this.deps.jobResults,
|
|
187
|
+
jobLogs: this.deps.jobLogs,
|
|
188
|
+
storage: this.deps.storage,
|
|
182
189
|
};
|
|
183
190
|
}
|
|
184
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextFactory.js","sourceRoot":"","sources":["../../src/application/contextFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwEH;;GAEG;AACH,MAAM,OAAO,cAAc;IAEN;IACA;IAFnB,YACmB,IAAyB,EACzB,SAA2B;QAD3B,SAAI,GAAJ,IAAI,CAAqB;QACzB,cAAS,GAAT,SAAS,CAAkB;IAC3C,CAAC;IAEJ,cAAc;QACZ,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;YACxC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YACzB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB;YACnD,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB;YACvD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB;YAChD,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"contextFactory.js","sourceRoot":"","sources":["../../src/application/contextFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwEH;;GAEG;AACH,MAAM,OAAO,cAAc;IAEN;IACA;IAFnB,YACmB,IAAyB,EACzB,SAA2B;QAD3B,SAAI,GAAJ,IAAI,CAAqB;QACzB,cAAS,GAAT,SAAS,CAAkB;IAC3C,CAAC;IAEJ,cAAc;QACZ,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;YACxC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YACzB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB;YACnD,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB;YACvD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB;YAChD,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;SAC/C,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;SAC3C,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC1C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1E,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB;SACjD,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC1C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1E,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB;SACjD,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc;YAChD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC1C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1E,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc;YAC7C,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe;YAC/C,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACpF,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc;YAC7C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;YACjC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB;YACrD,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB;YAC7D,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,uBAAuB;SAChE,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;YACxC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;SACnC,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;SACnC,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;SACvC,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dlqManager.d.ts","sourceRoot":"","sources":["../../src/application/dlqManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAED,8CAA8C;AAC9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAGhF;AAED,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,EAAE,CAQ5F;AAED,yBAAyB;AACzB,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,QAAQ,CA4CpE;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"dlqManager.d.ts","sourceRoot":"","sources":["../../src/application/dlqManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAED,8CAA8C;AAC9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAGhF;AAED,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,EAAE,CAQ5F;AAED,yBAAyB;AACzB,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,QAAQ,CA4CpE;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CA4BpF;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAkClF;AAED,2BAA2B;AAC3B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAiC1F;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAsCvE;AAED,qCAAqC;AACrC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAgBtE;AAED,8BAA8B;AAC9B,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAMnE;AAED,gCAAgC;AAChC,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAG7F;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,CAGtE;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,aAAa,EAAE;QAAE,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAA;KAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzF,UAAU,EAAE;QAAE,MAAM,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAA;KAAE,CAAC;CAC5C;AAED,2BAA2B;AAC3B,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,qBAAqB,EAC1B,KAAK,CAAC,EAAE,KAAK,GACZ,MAAM,CAcR"}
|
|
@@ -81,6 +81,8 @@ export function retryDlqJob(queue, jobId, ctx) {
|
|
|
81
81
|
const isDelayed = job.runAt > now;
|
|
82
82
|
shard.incrementQueued(job.id, isDelayed, job.createdAt, queue, job.runAt);
|
|
83
83
|
ctx.jobIndex.set(job.id, { type: 'queue', shardIdx: idx, queueName: queue });
|
|
84
|
+
// Re-insert jobs row (deleted when job entered DLQ) so retry survives restart
|
|
85
|
+
ctx.storage?.insertJob(job, true);
|
|
84
86
|
return job;
|
|
85
87
|
}
|
|
86
88
|
/** Retry jobs from DLQ (backward compatible) */
|
|
@@ -110,6 +112,7 @@ export function retryDlqJobs(queue, ctx, jobId) {
|
|
|
110
112
|
const isDelayed = job.runAt > now;
|
|
111
113
|
shard.incrementQueued(job.id, isDelayed, job.createdAt, queue, job.runAt);
|
|
112
114
|
ctx.jobIndex.set(job.id, { type: 'queue', shardIdx: idx, queueName: queue });
|
|
115
|
+
ctx.storage?.insertJob(job, true);
|
|
113
116
|
}
|
|
114
117
|
return count;
|
|
115
118
|
}
|
|
@@ -138,6 +141,7 @@ export function retryDlqByFilter(queue, ctx, filter) {
|
|
|
138
141
|
const isDelayed = job.runAt > now;
|
|
139
142
|
shard.incrementQueued(job.id, isDelayed, job.createdAt, queue, job.runAt);
|
|
140
143
|
ctx.jobIndex.set(job.id, { type: 'queue', shardIdx: idx, queueName: queue });
|
|
144
|
+
ctx.storage?.insertJob(job, true);
|
|
141
145
|
count++;
|
|
142
146
|
}
|
|
143
147
|
return count;
|
|
@@ -172,6 +176,7 @@ export function processAutoRetry(queue, ctx) {
|
|
|
172
176
|
const isDelayed = job.runAt > now;
|
|
173
177
|
shard.incrementQueued(job.id, isDelayed, job.createdAt, queue, job.runAt);
|
|
174
178
|
ctx.jobIndex.set(job.id, { type: 'queue', shardIdx: idx, queueName: queue });
|
|
179
|
+
ctx.storage?.insertJob(job, true);
|
|
175
180
|
count++;
|
|
176
181
|
}
|
|
177
182
|
return count;
|