@rudderjs/horizon 5.0.0 → 6.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/README.md +3 -2
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +11 -5
- package/dist/api/routes.js.map +1 -1
- package/dist/collectors/job.js +3 -3
- package/dist/collectors/job.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -3
- package/dist/index.js.map +1 -1
- package/dist/routes.js +3 -3
- package/dist/routes.js.map +1 -1
- package/dist/storage.d.ts +11 -9
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +106 -59
- package/dist/storage.js.map +1 -1
- package/dist/types.d.ts +10 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/views/vanilla/_jobTable.d.ts.map +1 -1
- package/dist/views/vanilla/_jobTable.js +9 -7
- package/dist/views/vanilla/_jobTable.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ import { Horizon } from '@rudderjs/horizon'
|
|
|
24
24
|
|
|
25
25
|
const jobs = await Horizon.recentJobs({ queue: 'emails', perPage: 25 })
|
|
26
26
|
const failed = await Horizon.failedJobs()
|
|
27
|
-
const job = await Horizon.findJob('job-id')
|
|
27
|
+
const job = await Horizon.findJob('emails', 'job-id')
|
|
28
28
|
const metrics = await Horizon.currentMetrics()
|
|
29
29
|
const workers = await Horizon.workers()
|
|
30
30
|
const count = await Horizon.jobCount('failed')
|
|
@@ -36,7 +36,7 @@ const count = await Horizon.jobCount('failed')
|
|
|
36
36
|
|--------|---------|-------------|
|
|
37
37
|
| `recentJobs(options?)` | `HorizonJob[]` | List recent jobs with optional filters |
|
|
38
38
|
| `failedJobs(options?)` | `HorizonJob[]` | List failed jobs |
|
|
39
|
-
| `findJob(id)` | `HorizonJob \| null` | Find a single job by
|
|
39
|
+
| `findJob(queue, id)` | `HorizonJob \| null` | Find a single job by `(queue, id)` — BullMQ ids are per-queue |
|
|
40
40
|
| `currentMetrics()` | `QueueMetric[]` | Latest metric snapshot per queue |
|
|
41
41
|
| `workers()` | `WorkerInfo[]` | All known workers and their status |
|
|
42
42
|
| `jobCount(status?)` | `number` | Count jobs, optionally by status |
|
|
@@ -85,3 +85,4 @@ Horizon serves a built-in UI at `/{path}` with pages for:
|
|
|
85
85
|
- Requires `@rudderjs/queue` for job lifecycle hooks.
|
|
86
86
|
- Peers: `@rudderjs/router` and `@rudderjs/middleware` for route registration.
|
|
87
87
|
- Auto-prune runs on a background interval (does not block the event loop).
|
|
88
|
+
- With BullMQ, `MetricsCollector` only registers in the worker process (set `RUDDERJS_QUEUE_WORKER=1` — `pnpm rudder queue:work` does this for you). The dashboard process serves `/horizon/api/queues` from the worker's last write. If the worker is offline the metrics tile freezes; jobs and failed tabs continue to work because they read live state from BullMQ.
|
package/dist/api/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAa,MAAM,aAAa,CAAA;AAQ3E,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAK,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,OAAO,CAC3B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAa,MAAM,aAAa,CAAA;AAQ3E,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAK,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,OAAO,CAC3B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAK,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAM,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAK,UAAU,EACnB,GAAG,EAAM,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAID,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAWrF"}
|
package/dist/api/routes.js
CHANGED
|
@@ -42,7 +42,9 @@ export async function listFailedJobs(storage, req, res) {
|
|
|
42
42
|
res.json({ data: jobs, meta: { total } });
|
|
43
43
|
}
|
|
44
44
|
export async function showJob(storage, req, res) {
|
|
45
|
-
const
|
|
45
|
+
const queue = req.params['queue'] ?? '';
|
|
46
|
+
const id = req.params['id'] ?? '';
|
|
47
|
+
const job = await storage.findJob(queue, id);
|
|
46
48
|
if (!job) {
|
|
47
49
|
res.status(404).json({ message: 'Job not found.' });
|
|
48
50
|
return;
|
|
@@ -50,7 +52,9 @@ export async function showJob(storage, req, res) {
|
|
|
50
52
|
res.json({ data: job });
|
|
51
53
|
}
|
|
52
54
|
export async function retryJob(storage, req, res) {
|
|
53
|
-
const
|
|
55
|
+
const queue = req.params['queue'] ?? '';
|
|
56
|
+
const id = req.params['id'] ?? '';
|
|
57
|
+
const job = await storage.findJob(queue, id);
|
|
54
58
|
if (!job) {
|
|
55
59
|
res.status(404).json({ message: 'Job not found.' });
|
|
56
60
|
return;
|
|
@@ -62,7 +66,7 @@ export async function retryJob(storage, req, res) {
|
|
|
62
66
|
const adapter = QueueRegistry.get();
|
|
63
67
|
if (adapter?.retryFailed) {
|
|
64
68
|
await adapter.retryFailed(job.queue);
|
|
65
|
-
storage.updateJob(job.id, { status: 'pending', exception: null });
|
|
69
|
+
storage.updateJob(job.queue, job.id, { status: 'pending', exception: null });
|
|
66
70
|
res.json({ message: 'Job queued for retry.' });
|
|
67
71
|
}
|
|
68
72
|
else {
|
|
@@ -70,12 +74,14 @@ export async function retryJob(storage, req, res) {
|
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
76
|
export async function deleteJob(storage, req, res) {
|
|
73
|
-
const
|
|
77
|
+
const queue = req.params['queue'] ?? '';
|
|
78
|
+
const id = req.params['id'] ?? '';
|
|
79
|
+
const job = await storage.findJob(queue, id);
|
|
74
80
|
if (!job) {
|
|
75
81
|
res.status(404).json({ message: 'Job not found.' });
|
|
76
82
|
return;
|
|
77
83
|
}
|
|
78
|
-
storage.deleteJob(job.id);
|
|
84
|
+
storage.deleteJob(job.queue, job.id);
|
|
79
85
|
res.json({ message: 'Job deleted.' });
|
|
80
86
|
}
|
|
81
87
|
export async function listQueues(storage, _req, res) {
|
package/dist/api/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,eAAe;AAEf,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAuB,EACvB,IAAmB,EACnB,GAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7F,OAAO,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,OAAO,CAAC,cAAc,EAAE;QACxB,OAAO,CAAC,OAAO,EAAE;KAClB,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;QAC1D,MAAM,EAAG,OAAO;QAChB,OAAO,EAAE,UAAU,CAAC,MAAM;KAC3B,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,EAAK,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAQ,GAAG,EAAE,EAAE,CAAC;QACnD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,KAAK,EAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAA0B;KACtD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IACtC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,EAAK,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAQ,GAAG,EAAE,EAAE,CAAC;QACnD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,KAAK,EAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC7B,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC9C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,GAAG,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,eAAe;AAEf,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAuB,EACvB,IAAmB,EACnB,GAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7F,OAAO,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,OAAO,CAAC,cAAc,EAAE;QACxB,OAAO,CAAC,OAAO,EAAE;KAClB,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;QAC1D,MAAM,EAAG,OAAO;QAChB,OAAO,EAAE,UAAU,CAAC,MAAM;KAC3B,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,EAAK,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAQ,GAAG,EAAE,EAAE,CAAC;QACnD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,KAAK,EAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAA0B;KACtD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IACtC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,EAAK,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAQ,GAAG,EAAE,EAAE,CAAC;QACnD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,KAAK,EAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC7B,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC9C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACvC,MAAM,EAAE,GAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAO,EAAE,CAAA;IACvC,MAAM,GAAG,GAAK,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACnD,OAAM;IACR,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACvC,MAAM,EAAE,GAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAO,EAAE,CAAA;IACvC,MAAM,GAAG,GAAK,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACnD,OAAM;IACR,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAA;QACrE,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,CAAA;IACnC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5E,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAA;IAChD,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACvC,MAAM,EAAE,GAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAO,EAAE,CAAA;IACvC,MAAM,GAAG,GAAK,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACnD,OAAM;IACR,CAAC;IACD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACpC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAuB,EACvB,IAAmB,EACnB,GAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAA;IAC9C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAuB,EACvB,GAAmB,EACnB,GAAoB;IAEpB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,CAAA;IAC9C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA,CAAC,WAAW;IACpE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAEnD,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,CAAA;IACnC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAuB,EACvB,IAAmB,EACnB,GAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AAChC,CAAC;AAED,8DAA8D;AAE9D,MAAM,UAAU,cAAc,CAAC,MAAmC;IAChE,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;gBAClD,OAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC"}
|
package/dist/collectors/job.js
CHANGED
|
@@ -45,14 +45,14 @@ export class JobCollector {
|
|
|
45
45
|
break;
|
|
46
46
|
}
|
|
47
47
|
case 'job.active':
|
|
48
|
-
await this.storage.updateJob(event.jobId, {
|
|
48
|
+
await this.storage.updateJob(event.queue, event.jobId, {
|
|
49
49
|
status: 'processing',
|
|
50
50
|
startedAt: event.startedAt,
|
|
51
51
|
attempts: event.attempts,
|
|
52
52
|
});
|
|
53
53
|
break;
|
|
54
54
|
case 'job.completed':
|
|
55
|
-
await this.storage.updateJob(event.jobId, {
|
|
55
|
+
await this.storage.updateJob(event.queue, event.jobId, {
|
|
56
56
|
status: 'completed',
|
|
57
57
|
completedAt: event.completedAt,
|
|
58
58
|
duration: event.duration,
|
|
@@ -60,7 +60,7 @@ export class JobCollector {
|
|
|
60
60
|
this.metricsCollector?.recordJobCompleted(event.queue, event.startedAt.getTime() - event.dispatchedAt.getTime(), event.duration);
|
|
61
61
|
break;
|
|
62
62
|
case 'job.failed':
|
|
63
|
-
await this.storage.updateJob(event.jobId, {
|
|
63
|
+
await this.storage.updateJob(event.queue, event.jobId, {
|
|
64
64
|
status: 'failed',
|
|
65
65
|
completedAt: event.completedAt,
|
|
66
66
|
...(event.duration !== undefined ? { duration: event.duration } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/collectors/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,YAAY;IAKJ;IACA;IALV,IAAI,GAAG,eAAe,CAAA;IACvB,WAAW,GAAwB,IAAI,CAAA;IAE/C,YACmB,OAAgC,EAChC,mBAA4C,IAAI;QADhD,YAAO,GAAP,OAAO,CAAyB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAgC;IAChE,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACpD,wEAAwE;YACxE,gEAAgE;YAChE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACrC,IAAI,CAAC;oBACH,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAK,gBAAgB,CAAC,CAAC,CAAC;4BACtB,MAAM,MAAM,GAAe;gCACzB,EAAE,EAAY,KAAK,CAAC,KAAK;gCACzB,IAAI,EAAU,KAAK,CAAC,IAAI;gCACxB,KAAK,EAAS,KAAK,CAAC,KAAK;gCACzB,MAAM,EAAQ,SAAS;gCACvB,OAAO,EAAO,KAAK,CAAC,OAAO;gCAC3B,QAAQ,EAAM,CAAC;gCACf,SAAS,EAAK,IAAI;gCAClB,YAAY,EAAE,KAAK,CAAC,YAAY;gCAChC,SAAS,EAAK,IAAI;gCAClB,WAAW,EAAG,IAAI;gCAClB,QAAQ,EAAM,IAAI;gCAClB,IAAI,EAAU,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;6BAC5D,CAAA;4BACD,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;4BACpC,MAAK;wBACP,CAAC;wBACD,KAAK,YAAY;4BACf,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/collectors/job.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export declare class Horizon {
|
|
|
16
16
|
private static store;
|
|
17
17
|
static recentJobs(options?: JobListOptions): HorizonJob[] | Promise<HorizonJob[]>;
|
|
18
18
|
static failedJobs(options?: JobListOptions): HorizonJob[] | Promise<HorizonJob[]>;
|
|
19
|
-
static findJob(id: string): HorizonJob | null | Promise<HorizonJob | null>;
|
|
19
|
+
static findJob(queue: string, id: string): HorizonJob | null | Promise<HorizonJob | null>;
|
|
20
20
|
static currentMetrics(): QueueMetric[] | Promise<QueueMetric[]>;
|
|
21
21
|
static workers(): WorkerInfo[] | Promise<WorkerInfo[]>;
|
|
22
22
|
static jobCount(status?: JobStatus): number | Promise<number>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,MAAM,gBAAgB,CAAA;AAMxD,OAAO,EAEL,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EACxD,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EACtE,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAInB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;AACjI,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA8B;IAEpD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IACzC,MAAM,CAAC,GAAG,IAAI,cAAc,GAAG,IAAI;IACnC,mEAAmE;IACnE,MAAM,CAAC,KAAK,IAAI,IAAI;CACrB;AAID,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,KAAK;IAMpB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIjF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIjF,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,MAAM,gBAAgB,CAAA;AAMxD,OAAO,EAEL,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EACxD,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EACtE,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAInB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;AACjI,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA8B;IAEpD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IACzC,MAAM,CAAC,GAAG,IAAI,cAAc,GAAG,IAAI;IACnC,mEAAmE;IACnE,MAAM,CAAC,KAAK,IAAI,IAAI;CACrB;AAID,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,KAAK;IAMpB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIjF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIjF,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIzF,MAAM,CAAC,cAAc,IAAI,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI/D,MAAM,CAAC,OAAO,IAAI,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAItD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG9D;AAID;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD,QAAQ,IAAI,IAAI;IAQV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAoF5B;AAID,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -31,8 +31,8 @@ export class Horizon {
|
|
|
31
31
|
static failedJobs(options) {
|
|
32
32
|
return this.store().failedJobs(options);
|
|
33
33
|
}
|
|
34
|
-
static findJob(id) {
|
|
35
|
-
return this.store().findJob(id);
|
|
34
|
+
static findJob(queue, id) {
|
|
35
|
+
return this.store().findJob(queue, id);
|
|
36
36
|
}
|
|
37
37
|
static currentMetrics() {
|
|
38
38
|
return this.store().currentMetrics();
|
|
@@ -120,7 +120,25 @@ export class HorizonProvider extends ServiceProvider {
|
|
|
120
120
|
const jobCollector = new JobCollector(storage, metricsCollector);
|
|
121
121
|
const workerCollector = new WorkerCollector(storage);
|
|
122
122
|
jobCollector.register();
|
|
123
|
-
|
|
123
|
+
// For out-of-process queues (BullMQ), `queueObservers` events fire in
|
|
124
|
+
// the worker process, not the dashboard. Letting both processes poll
|
|
125
|
+
// `MetricsCollector.collect()` makes the dashboard write
|
|
126
|
+
// `throughput: 0` rows that clobber the worker's real counts via the
|
|
127
|
+
// shared Redis history ZSet. Gate to the worker process. Sync queue
|
|
128
|
+
// is in-process — dashboard IS the worker, so we let it through.
|
|
129
|
+
const queueDriver = (() => {
|
|
130
|
+
try {
|
|
131
|
+
return config('queue', {})?.default;
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
})();
|
|
137
|
+
const outOfProcessQueue = queueDriver === 'bullmq';
|
|
138
|
+
const isWorkerProcess = process.env['RUDDERJS_QUEUE_WORKER'] === '1';
|
|
139
|
+
if (!outOfProcessQueue || isWorkerProcess) {
|
|
140
|
+
metricsCollector.register();
|
|
141
|
+
}
|
|
124
142
|
workerCollector.register();
|
|
125
143
|
// ── Register UI + API routes ──────────────────────────
|
|
126
144
|
await registerHorizonRoutes(storage, {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EACL,aAAa,GAId,MAAM,YAAY,CAAA;AAKnB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,8DAA8D;AAE9D,MAAM,OAAO,eAAe;IAClB,MAAM,CAAC,OAAO,GAA0B,IAAI,CAAA;IAEpD,MAAM,CAAC,GAAG,CAAC,OAAuB,IAAU,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,KAAmC,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC,CAAC;IAClE,mEAAmE;IACnE,MAAM,CAAC,KAAK,KAAiC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,CAAC,CAAC;;AAGpE,8DAA8D;AAE9D,MAAM,OAAO,OAAO;IACV,MAAM,CAAC,KAAK;QAClB,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,CAAA;QAC/B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;QAChG,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,OAAwB;QACxC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,OAAwB;QACxC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,EAAU;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/routes.js
CHANGED
|
@@ -37,9 +37,9 @@ export async function registerHorizonRoutes(storage, opts = {}) {
|
|
|
37
37
|
router.get(`${apiPrefix}/stats`, (req, res) => getStats(storage, req, res), middleware);
|
|
38
38
|
router.get(`${apiPrefix}/jobs/recent`, (req, res) => listRecentJobs(storage, req, res), middleware);
|
|
39
39
|
router.get(`${apiPrefix}/jobs/failed`, (req, res) => listFailedJobs(storage, req, res), middleware);
|
|
40
|
-
router.get(`${apiPrefix}/jobs/:id`, (req, res) => showJob(storage, req, res), middleware);
|
|
41
|
-
router.post(`${apiPrefix}/jobs/:id/retry`, (req, res) => retryJob(storage, req, res), middleware);
|
|
42
|
-
router.delete(`${apiPrefix}/jobs/:id`, (req, res) => deleteJob(storage, req, res), middleware);
|
|
40
|
+
router.get(`${apiPrefix}/jobs/:queue/:id`, (req, res) => showJob(storage, req, res), middleware);
|
|
41
|
+
router.post(`${apiPrefix}/jobs/:queue/:id/retry`, (req, res) => retryJob(storage, req, res), middleware);
|
|
42
|
+
router.delete(`${apiPrefix}/jobs/:queue/:id`, (req, res) => deleteJob(storage, req, res), middleware);
|
|
43
43
|
router.get(`${apiPrefix}/queues`, (req, res) => listQueues(storage, req, res), middleware);
|
|
44
44
|
router.get(`${apiPrefix}/queues/:queue`, (req, res) => showQueue(storage, req, res), middleware);
|
|
45
45
|
router.get(`${apiPrefix}/workers`, (req, res) => listWorkers(storage, req, res), middleware);
|
package/dist/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -7,16 +7,16 @@ export declare class MemoryStorage implements HorizonStorage {
|
|
|
7
7
|
private readonly workerMap;
|
|
8
8
|
constructor(maxJobs?: number);
|
|
9
9
|
recordJob(job: HorizonJob): void;
|
|
10
|
-
updateJob(id: string, updates: Partial<HorizonJob>): void;
|
|
10
|
+
updateJob(queue: string, id: string, updates: Partial<HorizonJob>): void;
|
|
11
11
|
recentJobs(options?: JobListOptions): HorizonJob[];
|
|
12
12
|
failedJobs(options?: JobListOptions): HorizonJob[];
|
|
13
|
-
findJob(id: string): HorizonJob | null;
|
|
13
|
+
findJob(queue: string, id: string): HorizonJob | null;
|
|
14
14
|
recordMetric(metric: QueueMetric): void;
|
|
15
15
|
metrics(queue: string, since: Date): QueueMetric[];
|
|
16
16
|
currentMetrics(): QueueMetric[];
|
|
17
17
|
recordWorker(worker: WorkerInfo): void;
|
|
18
18
|
workers(): WorkerInfo[];
|
|
19
|
-
deleteJob(id: string): void;
|
|
19
|
+
deleteJob(queue: string, id: string): void;
|
|
20
20
|
pruneOlderThan(date: Date): void;
|
|
21
21
|
jobCount(status?: JobStatus): number;
|
|
22
22
|
private filterJobs;
|
|
@@ -28,16 +28,16 @@ export declare class SqliteStorage implements HorizonStorage {
|
|
|
28
28
|
private getDb;
|
|
29
29
|
private migrate;
|
|
30
30
|
recordJob(job: HorizonJob): void;
|
|
31
|
-
updateJob(id: string, updates: Partial<HorizonJob>): void;
|
|
31
|
+
updateJob(queue: string, id: string, updates: Partial<HorizonJob>): void;
|
|
32
32
|
recentJobs(options?: JobListOptions): HorizonJob[];
|
|
33
33
|
failedJobs(options?: JobListOptions): HorizonJob[];
|
|
34
|
-
findJob(id: string): HorizonJob | null;
|
|
34
|
+
findJob(queue: string, id: string): HorizonJob | null;
|
|
35
35
|
recordMetric(metric: QueueMetric): void;
|
|
36
36
|
metrics(queue: string, since: Date): QueueMetric[];
|
|
37
37
|
currentMetrics(): QueueMetric[];
|
|
38
38
|
recordWorker(worker: WorkerInfo): void;
|
|
39
39
|
workers(): WorkerInfo[];
|
|
40
|
-
deleteJob(id: string): void;
|
|
40
|
+
deleteJob(queue: string, id: string): void;
|
|
41
41
|
pruneOlderThan(date: Date): void;
|
|
42
42
|
jobCount(status?: JobStatus): number;
|
|
43
43
|
private queryJobs;
|
|
@@ -61,12 +61,14 @@ export declare class RedisStorage implements HorizonStorage {
|
|
|
61
61
|
private getClient;
|
|
62
62
|
private connectionOpts;
|
|
63
63
|
private k;
|
|
64
|
+
private member;
|
|
65
|
+
private parseMember;
|
|
64
66
|
recordJob(job: HorizonJob): Promise<void>;
|
|
65
|
-
updateJob(id: string, updates: Partial<HorizonJob>): Promise<void>;
|
|
67
|
+
updateJob(queue: string, id: string, updates: Partial<HorizonJob>): Promise<void>;
|
|
66
68
|
recentJobs(options?: JobListOptions): Promise<HorizonJob[]>;
|
|
67
69
|
failedJobs(options?: JobListOptions): Promise<HorizonJob[]>;
|
|
68
|
-
findJob(id: string): Promise<HorizonJob | null>;
|
|
69
|
-
deleteJob(id: string): Promise<void>;
|
|
70
|
+
findJob(queue: string, id: string): Promise<HorizonJob | null>;
|
|
71
|
+
deleteJob(queue: string, id: string): Promise<void>;
|
|
70
72
|
pruneOlderThan(date: Date): Promise<void>;
|
|
71
73
|
jobCount(status?: JobStatus): Promise<number>;
|
|
72
74
|
recordMetric(metric: QueueMetric): Promise<void>;
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EACnD,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAC9C,MAAM,YAAY,CAAA;AAInB,qBAAa,aAAc,YAAW,cAAc;IAMtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;gBAElC,OAAO,GAAE,MAAa;IAEnD,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAOhC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -15,8 +15,8 @@ export class MemoryStorage {
|
|
|
15
15
|
this.jobs.length = this.maxJobs;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
updateJob(id, updates) {
|
|
19
|
-
const job = this.jobs.find(j => j.id === id);
|
|
18
|
+
updateJob(queue, id, updates) {
|
|
19
|
+
const job = this.jobs.find(j => j.queue === queue && j.id === id);
|
|
20
20
|
if (job)
|
|
21
21
|
Object.assign(job, updates);
|
|
22
22
|
}
|
|
@@ -26,8 +26,8 @@ export class MemoryStorage {
|
|
|
26
26
|
failedJobs(options) {
|
|
27
27
|
return this.filterJobs({ ...options, status: 'failed' });
|
|
28
28
|
}
|
|
29
|
-
findJob(id) {
|
|
30
|
-
return this.jobs.find(j => j.id === id) ?? null;
|
|
29
|
+
findJob(queue, id) {
|
|
30
|
+
return this.jobs.find(j => j.queue === queue && j.id === id) ?? null;
|
|
31
31
|
}
|
|
32
32
|
recordMetric(metric) {
|
|
33
33
|
this.latestMetrics.set(metric.queue, metric);
|
|
@@ -54,8 +54,8 @@ export class MemoryStorage {
|
|
|
54
54
|
workers() {
|
|
55
55
|
return [...this.workerMap.values()];
|
|
56
56
|
}
|
|
57
|
-
deleteJob(id) {
|
|
58
|
-
const idx = this.jobs.findIndex(j => j.id === id);
|
|
57
|
+
deleteJob(queue, id) {
|
|
58
|
+
const idx = this.jobs.findIndex(j => j.queue === queue && j.id === id);
|
|
59
59
|
if (idx !== -1)
|
|
60
60
|
this.jobs.splice(idx, 1);
|
|
61
61
|
}
|
|
@@ -112,11 +112,14 @@ export class SqliteStorage {
|
|
|
112
112
|
return this.db;
|
|
113
113
|
}
|
|
114
114
|
migrate() {
|
|
115
|
+
// v2 table: composite PK so cross-queue id collisions (BullMQ assigns ids
|
|
116
|
+
// per-queue) don't clobber records. v1's `horizon_jobs` (single-column id
|
|
117
|
+
// PK) is left untouched on upgrade — pruneAfterHours ages it out.
|
|
115
118
|
this.db.exec(`
|
|
116
|
-
CREATE TABLE IF NOT EXISTS
|
|
117
|
-
id TEXT PRIMARY KEY,
|
|
118
|
-
name TEXT NOT NULL,
|
|
119
|
+
CREATE TABLE IF NOT EXISTS horizon_jobs_v2 (
|
|
119
120
|
queue TEXT NOT NULL,
|
|
121
|
+
id TEXT NOT NULL,
|
|
122
|
+
name TEXT NOT NULL,
|
|
120
123
|
status TEXT NOT NULL,
|
|
121
124
|
payload TEXT NOT NULL DEFAULT '{}',
|
|
122
125
|
attempts INTEGER NOT NULL DEFAULT 0,
|
|
@@ -125,10 +128,11 @@ export class SqliteStorage {
|
|
|
125
128
|
started_at TEXT,
|
|
126
129
|
completed_at TEXT,
|
|
127
130
|
duration INTEGER,
|
|
128
|
-
tags TEXT NOT NULL DEFAULT '[]'
|
|
131
|
+
tags TEXT NOT NULL DEFAULT '[]',
|
|
132
|
+
PRIMARY KEY (queue, id)
|
|
129
133
|
);
|
|
130
|
-
CREATE INDEX IF NOT EXISTS idx_horizon_status ON
|
|
131
|
-
CREATE INDEX IF NOT EXISTS idx_horizon_queue ON
|
|
134
|
+
CREATE INDEX IF NOT EXISTS idx_horizon_status ON horizon_jobs_v2(status, dispatched_at);
|
|
135
|
+
CREATE INDEX IF NOT EXISTS idx_horizon_queue ON horizon_jobs_v2(queue, dispatched_at);
|
|
132
136
|
|
|
133
137
|
CREATE TABLE IF NOT EXISTS horizon_metrics (
|
|
134
138
|
id TEXT PRIMARY KEY,
|
|
@@ -156,10 +160,10 @@ export class SqliteStorage {
|
|
|
156
160
|
`);
|
|
157
161
|
}
|
|
158
162
|
recordJob(job) {
|
|
159
|
-
this.getDb().prepare(`INSERT INTO
|
|
160
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(job.
|
|
163
|
+
this.getDb().prepare(`INSERT OR REPLACE INTO horizon_jobs_v2 (queue, id, name, status, payload, attempts, exception, dispatched_at, started_at, completed_at, duration, tags)
|
|
164
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(job.queue, job.id, job.name, job.status, JSON.stringify(job.payload), job.attempts, job.exception, job.dispatchedAt.toISOString(), job.startedAt?.toISOString() ?? null, job.completedAt?.toISOString() ?? null, job.duration, JSON.stringify(job.tags));
|
|
161
165
|
}
|
|
162
|
-
updateJob(id, updates) {
|
|
166
|
+
updateJob(queue, id, updates) {
|
|
163
167
|
const sets = [];
|
|
164
168
|
const params = [];
|
|
165
169
|
if (updates.status !== undefined) {
|
|
@@ -188,8 +192,8 @@ export class SqliteStorage {
|
|
|
188
192
|
}
|
|
189
193
|
if (sets.length === 0)
|
|
190
194
|
return;
|
|
191
|
-
params.push(id);
|
|
192
|
-
this.getDb().prepare(`UPDATE
|
|
195
|
+
params.push(queue, id);
|
|
196
|
+
this.getDb().prepare(`UPDATE horizon_jobs_v2 SET ${sets.join(', ')} WHERE queue = ? AND id = ?`).run(...params);
|
|
193
197
|
}
|
|
194
198
|
recentJobs(options) {
|
|
195
199
|
return this.queryJobs(options);
|
|
@@ -197,8 +201,8 @@ export class SqliteStorage {
|
|
|
197
201
|
failedJobs(options) {
|
|
198
202
|
return this.queryJobs({ ...options, status: 'failed' });
|
|
199
203
|
}
|
|
200
|
-
findJob(id) {
|
|
201
|
-
const row = this.getDb().prepare('SELECT * FROM
|
|
204
|
+
findJob(queue, id) {
|
|
205
|
+
const row = this.getDb().prepare('SELECT * FROM horizon_jobs_v2 WHERE queue = ? AND id = ?').get(queue, id);
|
|
202
206
|
return row ? this.jobFromRow(row) : null;
|
|
203
207
|
}
|
|
204
208
|
recordMetric(metric) {
|
|
@@ -231,21 +235,21 @@ export class SqliteStorage {
|
|
|
231
235
|
lastJobAt: r['last_job_at'] ? new Date(r['last_job_at']) : null,
|
|
232
236
|
}));
|
|
233
237
|
}
|
|
234
|
-
deleteJob(id) {
|
|
235
|
-
this.getDb().prepare('DELETE FROM
|
|
238
|
+
deleteJob(queue, id) {
|
|
239
|
+
this.getDb().prepare('DELETE FROM horizon_jobs_v2 WHERE queue = ? AND id = ?').run(queue, id);
|
|
236
240
|
}
|
|
237
241
|
pruneOlderThan(date) {
|
|
238
242
|
const iso = date.toISOString();
|
|
239
243
|
const db = this.getDb();
|
|
240
|
-
db.prepare('DELETE FROM
|
|
244
|
+
db.prepare('DELETE FROM horizon_jobs_v2 WHERE dispatched_at < ?').run(iso);
|
|
241
245
|
db.prepare('DELETE FROM horizon_metrics WHERE created_at < ?').run(iso);
|
|
242
246
|
}
|
|
243
247
|
jobCount(status) {
|
|
244
248
|
if (status) {
|
|
245
|
-
const row = this.getDb().prepare('SELECT COUNT(*) as cnt FROM
|
|
249
|
+
const row = this.getDb().prepare('SELECT COUNT(*) as cnt FROM horizon_jobs_v2 WHERE status = ?').get(status);
|
|
246
250
|
return row.cnt;
|
|
247
251
|
}
|
|
248
|
-
const row = this.getDb().prepare('SELECT COUNT(*) as cnt FROM
|
|
252
|
+
const row = this.getDb().prepare('SELECT COUNT(*) as cnt FROM horizon_jobs_v2').get();
|
|
249
253
|
return row.cnt;
|
|
250
254
|
}
|
|
251
255
|
queryJobs(options) {
|
|
@@ -268,7 +272,7 @@ export class SqliteStorage {
|
|
|
268
272
|
const perPage = options?.perPage ?? 50;
|
|
269
273
|
const offset = (page - 1) * perPage;
|
|
270
274
|
params.push(perPage, offset);
|
|
271
|
-
const rows = this.getDb().prepare(`SELECT * FROM
|
|
275
|
+
const rows = this.getDb().prepare(`SELECT * FROM horizon_jobs_v2 ${where} ORDER BY dispatched_at DESC LIMIT ? OFFSET ?`).all(...params);
|
|
272
276
|
return rows.map(r => this.jobFromRow(r));
|
|
273
277
|
}
|
|
274
278
|
jobFromRow(r) {
|
|
@@ -349,8 +353,13 @@ export class RedisStorage {
|
|
|
349
353
|
};
|
|
350
354
|
}
|
|
351
355
|
// ─── Keys ────────────────────────────────────────────────
|
|
356
|
+
//
|
|
357
|
+
// Job records are stored at `jobs:{queue}:{id}`. BullMQ assigns ids
|
|
358
|
+
// per-queue (each queue starts at 1), so keying by id alone collides
|
|
359
|
+
// across queues. The `recent` and `failed` ZSets store members as
|
|
360
|
+
// `{queue}:{id}` so the listing path can split + lookup.
|
|
352
361
|
k = {
|
|
353
|
-
job: (id) => `${this.prefix}:jobs:${id}`,
|
|
362
|
+
job: (queue, id) => `${this.prefix}:jobs:${queue}:${id}`,
|
|
354
363
|
recent: () => `${this.prefix}:jobs:recent`,
|
|
355
364
|
failed: () => `${this.prefix}:jobs:failed`,
|
|
356
365
|
byQueue: (q) => `${this.prefix}:jobs:by-queue:${q}`,
|
|
@@ -359,15 +368,49 @@ export class RedisStorage {
|
|
|
359
368
|
worker: (id) => `${this.prefix}:workers:${id}`,
|
|
360
369
|
workersIndex: () => `${this.prefix}:workers`,
|
|
361
370
|
};
|
|
371
|
+
member(queue, id) {
|
|
372
|
+
return `${queue}:${id}`;
|
|
373
|
+
}
|
|
374
|
+
parseMember(member) {
|
|
375
|
+
const idx = member.indexOf(':');
|
|
376
|
+
if (idx === -1)
|
|
377
|
+
return null; // legacy v1 member; skip
|
|
378
|
+
return { queue: member.slice(0, idx), id: member.slice(idx + 1) };
|
|
379
|
+
}
|
|
362
380
|
// ─── Jobs ────────────────────────────────────────────────
|
|
363
381
|
async recordJob(job) {
|
|
364
382
|
const r = await this.getClient();
|
|
365
|
-
|
|
383
|
+
const m = this.member(job.queue, job.id);
|
|
384
|
+
const key = this.k.job(job.queue, job.id);
|
|
385
|
+
// Idempotent fields — same value across the lifecycle, safe to overwrite.
|
|
386
|
+
await r.hset(key, {
|
|
387
|
+
id: job.id,
|
|
388
|
+
name: job.name,
|
|
389
|
+
queue: job.queue,
|
|
390
|
+
payload: JSON.stringify(job.payload),
|
|
391
|
+
dispatchedAt: job.dispatchedAt.toISOString(),
|
|
392
|
+
tags: JSON.stringify(job.tags),
|
|
393
|
+
});
|
|
394
|
+
// Lifecycle fields — set only if not already written. The dashboard
|
|
395
|
+
// process emits `job.dispatched` and queues an async storage write via
|
|
396
|
+
// microtask; the worker process can update the record to `processing`
|
|
397
|
+
// / `completed` BEFORE that microtask flushes (the dispatcher races
|
|
398
|
+
// BullMQ's polling). Plain HSET would let a late dispatched-write
|
|
399
|
+
// clobber the worker's status. HSETNX makes recordJob idempotent for
|
|
400
|
+
// these fields so worker updates always win.
|
|
401
|
+
await Promise.all([
|
|
402
|
+
r.hsetnx(key, 'status', job.status),
|
|
403
|
+
r.hsetnx(key, 'attempts', job.attempts),
|
|
404
|
+
r.hsetnx(key, 'startedAt', job.startedAt ? job.startedAt.toISOString() : ''),
|
|
405
|
+
r.hsetnx(key, 'completedAt', job.completedAt ? job.completedAt.toISOString() : ''),
|
|
406
|
+
r.hsetnx(key, 'duration', job.duration ?? -1),
|
|
407
|
+
r.hsetnx(key, 'exception', job.exception ?? ''),
|
|
408
|
+
]);
|
|
366
409
|
const score = job.dispatchedAt.getTime();
|
|
367
|
-
await r.zadd(this.k.recent(), score,
|
|
410
|
+
await r.zadd(this.k.recent(), score, m);
|
|
368
411
|
await r.zadd(this.k.byQueue(job.queue), score, job.id);
|
|
369
412
|
if (job.status === 'failed') {
|
|
370
|
-
await r.zadd(this.k.failed(), score,
|
|
413
|
+
await r.zadd(this.k.failed(), score, m);
|
|
371
414
|
}
|
|
372
415
|
// Cap recent index to maxJobs (drop oldest)
|
|
373
416
|
const count = await r.zcard(this.k.recent());
|
|
@@ -375,7 +418,7 @@ export class RedisStorage {
|
|
|
375
418
|
await r.zremrangebyrank(this.k.recent(), 0, count - this.maxJobs - 1);
|
|
376
419
|
}
|
|
377
420
|
}
|
|
378
|
-
async updateJob(id, updates) {
|
|
421
|
+
async updateJob(queue, id, updates) {
|
|
379
422
|
const r = await this.getClient();
|
|
380
423
|
const fields = {};
|
|
381
424
|
if (updates.status !== undefined)
|
|
@@ -396,14 +439,15 @@ export class RedisStorage {
|
|
|
396
439
|
fields['tags'] = JSON.stringify(updates.tags);
|
|
397
440
|
if (Object.keys(fields).length === 0)
|
|
398
441
|
return;
|
|
399
|
-
await r.hset(this.k.job(id), fields);
|
|
442
|
+
await r.hset(this.k.job(queue, id), fields);
|
|
443
|
+
const m = this.member(queue, id);
|
|
400
444
|
if (updates.status === 'failed') {
|
|
401
|
-
const job = await this.findJob(id);
|
|
445
|
+
const job = await this.findJob(queue, id);
|
|
402
446
|
if (job)
|
|
403
|
-
await r.zadd(this.k.failed(), job.dispatchedAt.getTime(),
|
|
447
|
+
await r.zadd(this.k.failed(), job.dispatchedAt.getTime(), m);
|
|
404
448
|
}
|
|
405
449
|
else if (updates.status === 'completed') {
|
|
406
|
-
await r.zrem(this.k.failed(),
|
|
450
|
+
await r.zrem(this.k.failed(), m);
|
|
407
451
|
}
|
|
408
452
|
}
|
|
409
453
|
async recentJobs(options) {
|
|
@@ -412,26 +456,30 @@ export class RedisStorage {
|
|
|
412
456
|
async failedJobs(options) {
|
|
413
457
|
return this.listJobs(this.k.failed(), { ...options, status: 'failed' });
|
|
414
458
|
}
|
|
415
|
-
async findJob(id) {
|
|
459
|
+
async findJob(queue, id) {
|
|
416
460
|
const r = await this.getClient();
|
|
417
|
-
const hash = await r.hgetall(this.k.job(id));
|
|
461
|
+
const hash = await r.hgetall(this.k.job(queue, id));
|
|
418
462
|
if (!hash || Object.keys(hash).length === 0)
|
|
419
463
|
return null;
|
|
420
464
|
return this.jobFromHash(hash);
|
|
421
465
|
}
|
|
422
|
-
async deleteJob(id) {
|
|
466
|
+
async deleteJob(queue, id) {
|
|
423
467
|
const r = await this.getClient();
|
|
424
|
-
|
|
425
|
-
await r.
|
|
426
|
-
await r.zrem(this.k.
|
|
468
|
+
const m = this.member(queue, id);
|
|
469
|
+
await r.del(this.k.job(queue, id));
|
|
470
|
+
await r.zrem(this.k.recent(), m);
|
|
471
|
+
await r.zrem(this.k.failed(), m);
|
|
427
472
|
}
|
|
428
473
|
async pruneOlderThan(date) {
|
|
429
474
|
const r = await this.getClient();
|
|
430
475
|
const cut = date.getTime();
|
|
431
|
-
const
|
|
432
|
-
if (
|
|
476
|
+
const members = await r.zrangebyscore(this.k.recent(), '-inf', cut);
|
|
477
|
+
if (members.length === 0)
|
|
433
478
|
return;
|
|
434
|
-
await Promise.all(
|
|
479
|
+
await Promise.all(members.map(m => {
|
|
480
|
+
const parsed = this.parseMember(m);
|
|
481
|
+
return parsed ? r.del(this.k.job(parsed.queue, parsed.id)) : Promise.resolve(0);
|
|
482
|
+
}));
|
|
435
483
|
await r.zremrangebyscore(this.k.recent(), '-inf', cut);
|
|
436
484
|
await r.zremrangebyscore(this.k.failed(), '-inf', cut);
|
|
437
485
|
}
|
|
@@ -468,20 +516,16 @@ export class RedisStorage {
|
|
|
468
516
|
}
|
|
469
517
|
async currentMetrics() {
|
|
470
518
|
const r = await this.getClient();
|
|
471
|
-
// Discover queue names
|
|
472
|
-
//
|
|
473
|
-
const
|
|
474
|
-
if (
|
|
519
|
+
// Discover queue names directly from the recent-jobs zset members
|
|
520
|
+
// (now `{queue}:{id}`) — no per-record hgetall needed.
|
|
521
|
+
const members = await r.zrevrange(this.k.recent(), 0, Math.min(this.maxJobs, 500) - 1);
|
|
522
|
+
if (members.length === 0)
|
|
475
523
|
return [];
|
|
476
|
-
const pipe = r.pipeline();
|
|
477
|
-
for (const id of ids)
|
|
478
|
-
pipe.hgetall(this.k.job(id));
|
|
479
|
-
const rows = await pipe.exec() ?? [];
|
|
480
524
|
const queues = new Set();
|
|
481
|
-
for (const
|
|
482
|
-
const
|
|
483
|
-
if (
|
|
484
|
-
queues.add(
|
|
525
|
+
for (const m of members) {
|
|
526
|
+
const parsed = this.parseMember(m);
|
|
527
|
+
if (parsed)
|
|
528
|
+
queues.add(parsed.queue);
|
|
485
529
|
}
|
|
486
530
|
const metrics = [];
|
|
487
531
|
for (const q of queues) {
|
|
@@ -594,12 +638,15 @@ export class RedisStorage {
|
|
|
594
638
|
const page = options?.page ?? 1;
|
|
595
639
|
const perPage = options?.perPage ?? 50;
|
|
596
640
|
const start = (page - 1) * perPage;
|
|
597
|
-
const
|
|
598
|
-
if (
|
|
641
|
+
const members = await r.zrevrange(indexKey, start, start + perPage * 4);
|
|
642
|
+
if (members.length === 0)
|
|
599
643
|
return [];
|
|
600
644
|
const pipe = r.pipeline();
|
|
601
|
-
for (const
|
|
602
|
-
|
|
645
|
+
for (const m of members) {
|
|
646
|
+
const parsed = this.parseMember(m);
|
|
647
|
+
if (parsed)
|
|
648
|
+
pipe.hgetall(this.k.job(parsed.queue, parsed.id));
|
|
649
|
+
}
|
|
603
650
|
const rows = await pipe.exec() ?? [];
|
|
604
651
|
let jobs = [];
|
|
605
652
|
for (const [, hash] of rows) {
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -35,14 +35,18 @@ export interface WorkerInfo {
|
|
|
35
35
|
export interface HorizonStorage {
|
|
36
36
|
/** Record a job event (dispatch, start, complete, fail) */
|
|
37
37
|
recordJob(job: HorizonJob): void | Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Update an existing job record. Records are keyed by `(queue, id)` because
|
|
40
|
+
* BullMQ assigns ids per-queue starting at 1 — `default:1` and `priority:1`
|
|
41
|
+
* collide on id alone.
|
|
42
|
+
*/
|
|
43
|
+
updateJob(queue: string, id: string, updates: Partial<HorizonJob>): void | Promise<void>;
|
|
40
44
|
/** List recent jobs */
|
|
41
45
|
recentJobs(options?: JobListOptions): HorizonJob[] | Promise<HorizonJob[]>;
|
|
42
46
|
/** List failed jobs */
|
|
43
47
|
failedJobs(options?: JobListOptions): HorizonJob[] | Promise<HorizonJob[]>;
|
|
44
|
-
/** Get a single job by
|
|
45
|
-
findJob(id: string): HorizonJob | null | Promise<HorizonJob | null>;
|
|
48
|
+
/** Get a single job by `(queue, id)` */
|
|
49
|
+
findJob(queue: string, id: string): HorizonJob | null | Promise<HorizonJob | null>;
|
|
46
50
|
/** Record a per-minute metric snapshot for a queue */
|
|
47
51
|
recordMetric(metric: QueueMetric): void | Promise<void>;
|
|
48
52
|
/** Get metric history for a queue */
|
|
@@ -53,8 +57,8 @@ export interface HorizonStorage {
|
|
|
53
57
|
recordWorker(worker: WorkerInfo): void | Promise<void>;
|
|
54
58
|
/** List all known workers */
|
|
55
59
|
workers(): WorkerInfo[] | Promise<WorkerInfo[]>;
|
|
56
|
-
/** Delete a
|
|
57
|
-
deleteJob(id: string): void | Promise<void>;
|
|
60
|
+
/** Delete a job record by `(queue, id)` */
|
|
61
|
+
deleteJob(queue: string, id: string): void | Promise<void>;
|
|
58
62
|
/** Delete all data older than date */
|
|
59
63
|
pruneOlderThan(date: Date): void | Promise<void>;
|
|
60
64
|
/** Count jobs by status */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAY,MAAM,CAAA;IACpB,IAAI,EAAU,MAAM,CAAA;IACpB,KAAK,EAAS,MAAM,CAAA;IACpB,MAAM,EAAQ,SAAS,CAAA;IACvB,OAAO,EAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,QAAQ,EAAM,MAAM,CAAA;IACpB,SAAS,EAAK,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,EAAE,IAAI,CAAA;IAClB,SAAS,EAAK,IAAI,GAAG,IAAI,CAAA;IACzB,WAAW,EAAG,IAAI,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAM,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAU,MAAM,EAAE,CAAA;CACvB;AAID,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAQ,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,QAAQ,EAAK,MAAM,CAAA;IACnB,OAAO,EAAM,MAAM,CAAA;IACnB,OAAO,EAAM,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;CACpB;AAID,MAAM,WAAW,UAAU;IACzB,EAAE,EAAS,MAAM,CAAA;IACjB,KAAK,EAAM,MAAM,CAAA;IACjB,MAAM,EAAK,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IACvC,OAAO,EAAI,MAAM,CAAA;IACjB,QAAQ,EAAG,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;CACvB;AAID,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAqH9D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAY,IAAI;IACvB,IAAI,EAAe,SAAS;IAC5B,OAAO,EAAY,QAAiB;IACpC,UAAU,EAAS,aAAa;IAChC,KAAK,EAAc,EAAwB;IAC3C,OAAO,EAAY,IAAI;IACvB,eAAe,EAAI,EAAE;IACrB,iBAAiB,EAAE,MAAM;IACzB,IAAI,EAAe,IAA6D;CACjF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_jobTable.d.ts","sourceRoot":"","sources":["../../../src/views/vanilla/_jobTable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wBAAgB,QAAQ,IAAI,MAAM,CA+CjC;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"_jobTable.d.ts","sourceRoot":"","sources":["../../../src/views/vanilla/_jobTable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wBAAgB,QAAQ,IAAI,MAAM,CA+CjC;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAiCnD"}
|
|
@@ -21,7 +21,7 @@ export function jobTable() {
|
|
|
21
21
|
</tr>
|
|
22
22
|
</thead>
|
|
23
23
|
<tbody class="divide-y divide-gray-100">
|
|
24
|
-
<template x-for="job in jobs" :key="job.id">
|
|
24
|
+
<template x-for="job in jobs" :key="job.queue + ':' + job.id">
|
|
25
25
|
<tr class="hover:bg-gray-50">
|
|
26
26
|
<td class="px-4 py-3 font-mono text-xs" x-text="job.name"></td>
|
|
27
27
|
<td class="px-4 py-3" x-text="job.queue"></td>
|
|
@@ -33,9 +33,9 @@ export function jobTable() {
|
|
|
33
33
|
<td class="px-4 py-3 text-right" x-text="job.duration ? job.duration + 'ms' : '—'"></td>
|
|
34
34
|
<td class="px-4 py-3 text-right text-gray-400 text-xs" x-text="ago(job.dispatchedAt)"></td>
|
|
35
35
|
<td class="px-4 py-3 text-right">
|
|
36
|
-
<button x-show="job.status === 'failed'" @click="retry(job
|
|
36
|
+
<button x-show="job.status === 'failed'" @click="retry(job)"
|
|
37
37
|
class="text-xs text-teal-600 hover:text-teal-800 mr-2">Retry</button>
|
|
38
|
-
<button @click="remove(job
|
|
38
|
+
<button @click="remove(job)"
|
|
39
39
|
class="text-xs text-red-500 hover:text-red-700">Delete</button>
|
|
40
40
|
</td>
|
|
41
41
|
</tr>
|
|
@@ -67,12 +67,14 @@ export function jobScript(apiPrefix) {
|
|
|
67
67
|
this.jobs = data.data || []
|
|
68
68
|
this.meta = data.meta || { total: 0 }
|
|
69
69
|
},
|
|
70
|
-
async retry(
|
|
71
|
-
|
|
70
|
+
async retry(job) {
|
|
71
|
+
const path = encodeURIComponent(job.queue) + '/' + encodeURIComponent(job.id)
|
|
72
|
+
await fetch('${apiPrefix}/jobs/' + path + '/retry', { method: 'POST' })
|
|
72
73
|
this.load()
|
|
73
74
|
},
|
|
74
|
-
async remove(
|
|
75
|
-
|
|
75
|
+
async remove(job) {
|
|
76
|
+
const path = encodeURIComponent(job.queue) + '/' + encodeURIComponent(job.id)
|
|
77
|
+
await fetch('${apiPrefix}/jobs/' + path, { method: 'DELETE' })
|
|
76
78
|
this.load()
|
|
77
79
|
},
|
|
78
80
|
ago(dateStr) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_jobTable.js","sourceRoot":"","sources":["../../../src/views/vanilla/_jobTable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,UAAU,QAAQ;IACtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6CI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO;;;;;;;;wCAQ+B,SAAS
|
|
1
|
+
{"version":3,"file":"_jobTable.js","sourceRoot":"","sources":["../../../src/views/vanilla/_jobTable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,UAAU,QAAQ;IACtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6CI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO;;;;;;;;wCAQ+B,SAAS;;;;;;2BAMtB,SAAS;;;;;2BAKT,SAAS;;;;;;;;;;;;cAYtB,CAAA;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/horizon",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"rudderjs": {
|
|
5
5
|
"provider": "HorizonProvider",
|
|
6
6
|
"stage": "monitoring"
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@rudderjs/core": "^1.0.0",
|
|
29
|
-
"@rudderjs/
|
|
30
|
-
"@rudderjs/
|
|
29
|
+
"@rudderjs/queue": "^4.1.0",
|
|
30
|
+
"@rudderjs/contracts": "^1.1.0"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@rudderjs/router": "^1.0.0",
|