@rudderjs/horizon 6.1.0 → 6.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/collectors/job.d.ts +0 -2
- package/dist/collectors/job.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -59
- package/dist/index.js.map +1 -1
- package/dist/storage.d.ts +0 -2
- package/dist/storage.d.ts.map +1 -1
- package/package.json +7 -7
package/dist/collectors/job.d.ts
CHANGED
|
@@ -18,7 +18,5 @@ export declare class JobCollector {
|
|
|
18
18
|
private unsubscribe;
|
|
19
19
|
constructor(storage: HorizonStorage, metricsCollector?: MetricsCollector | null);
|
|
20
20
|
register(): void;
|
|
21
|
-
/** @internal — used in tests + provider shutdown. */
|
|
22
|
-
unregister(): void;
|
|
23
21
|
}
|
|
24
22
|
//# sourceMappingURL=job.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/collectors/job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALnC,QAAQ,CAAC,IAAI,mBAAkB;IAC/B,OAAO,CAAC,WAAW,CAA4B;gBAG5B,OAAO,EAAW,cAAc,EAChC,gBAAgB,GAAE,gBAAgB,GAAG,IAAW;IAGnE,QAAQ,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/collectors/job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALnC,QAAQ,CAAC,IAAI,mBAAkB;IAC/B,OAAO,CAAC,WAAW,CAA4B;gBAG5B,OAAO,EAAW,cAAc,EAChC,gBAAgB,GAAE,gBAAgB,GAAG,IAAW;IAGnE,QAAQ,IAAI,IAAI;CAiEjB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare class HorizonRegistry {
|
|
|
9
9
|
private static storage;
|
|
10
10
|
static set(storage: HorizonStorage): void;
|
|
11
11
|
static get(): HorizonStorage | null;
|
|
12
|
-
/**
|
|
12
|
+
/** Test-cleanup hook (public — other packages reset across the boundary). */
|
|
13
13
|
static reset(): void;
|
|
14
14
|
}
|
|
15
15
|
export declare class Horizon {
|
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,
|
|
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,6EAA6E;IAC7E,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;CAqG5B;AAID,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ export class HorizonRegistry {
|
|
|
14
14
|
static storage = null;
|
|
15
15
|
static set(storage) { this.storage = storage; }
|
|
16
16
|
static get() { return this.storage; }
|
|
17
|
-
/**
|
|
17
|
+
/** Test-cleanup hook (public — other packages reset across the boundary). */
|
|
18
18
|
static reset() { this.storage = null; }
|
|
19
19
|
}
|
|
20
20
|
// ─── Horizon Facade ────────────────────────────────────────
|
|
@@ -78,69 +78,85 @@ export class HorizonProvider extends ServiceProvider {
|
|
|
78
78
|
};
|
|
79
79
|
if (!resolved.enabled)
|
|
80
80
|
return;
|
|
81
|
-
// ──
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
// dashboard can't see the worker-process state transitions and every
|
|
98
|
-
// job appears stuck at 'pending' forever. Surface this loudly so users
|
|
99
|
-
// catch it before they're staring at a dead dashboard.
|
|
100
|
-
try {
|
|
101
|
-
const queueDriver = config('queue', {})?.default;
|
|
102
|
-
if (queueDriver === 'bullmq' && resolved.storage === 'memory') {
|
|
103
|
-
console.warn('[Horizon] queue driver "bullmq" is paired with horizon storage "memory" — ' +
|
|
104
|
-
'the dashboard will not see worker-process events (jobs will appear stuck at pending). ' +
|
|
105
|
-
"Set horizon.storage = 'redis' in config/horizon.ts to fix this.");
|
|
81
|
+
// ── One-time monitoring runtime (survives dev re-boots) ──
|
|
82
|
+
// boot() re-runs on every @rudderjs/vite dev re-boot; storage, the prune
|
|
83
|
+
// timer, and the collectors (MetricsCollector 60s + WorkerCollector 30s
|
|
84
|
+
// timers) are process-global. Rebuilding them per edit leaks the storage
|
|
85
|
+
// connection (Redis when storage:'redis' → maxclients exhaustion) + timers
|
|
86
|
+
// and re-subscribes the collectors to queueObservers (→ duplicate metric
|
|
87
|
+
// rows). Build once, keyed on globalThis, reuse across re-boots. Routes ARE
|
|
88
|
+
// re-registered every boot because router.reset() wipes them. No-op in production.
|
|
89
|
+
const g = globalThis;
|
|
90
|
+
const RT_KEY = '__rudderjs_horizon_runtime__';
|
|
91
|
+
let runtime = g[RT_KEY];
|
|
92
|
+
if (!runtime) {
|
|
93
|
+
// ── Create storage ──
|
|
94
|
+
let storage;
|
|
95
|
+
if (resolved.storage === 'sqlite') {
|
|
96
|
+
storage = new SqliteStorage(resolved.sqlitePath);
|
|
106
97
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const metricsCollector = new MetricsCollector(storage, resolved.metricsIntervalMs);
|
|
120
|
-
const jobCollector = new JobCollector(storage, metricsCollector);
|
|
121
|
-
const workerCollector = new WorkerCollector(storage);
|
|
122
|
-
jobCollector.register();
|
|
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 = (() => {
|
|
98
|
+
else if (resolved.storage === 'redis') {
|
|
99
|
+
const redisCfg = (cfg.redis ?? defaultConfig.redis);
|
|
100
|
+
storage = new RedisStorage(redisCfg, resolved.maxJobs);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
storage = new MemoryStorage(resolved.maxJobs);
|
|
104
|
+
}
|
|
105
|
+
// ── Misconfig warning ──
|
|
106
|
+
// BullMQ runs jobs in a separate process; with in-memory storage the
|
|
107
|
+
// dashboard can't see the worker-process state transitions and every
|
|
108
|
+
// job appears stuck at 'pending' forever. Surface this loudly so users
|
|
109
|
+
// catch it before they're staring at a dead dashboard.
|
|
130
110
|
try {
|
|
131
|
-
|
|
111
|
+
const queueDriver = config('queue', {})?.default;
|
|
112
|
+
if (queueDriver === 'bullmq' && resolved.storage === 'memory') {
|
|
113
|
+
console.warn('[Horizon] queue driver "bullmq" is paired with horizon storage "memory" — ' +
|
|
114
|
+
'the dashboard will not see worker-process events (jobs will appear stuck at pending). ' +
|
|
115
|
+
"Set horizon.storage = 'redis' in config/horizon.ts to fix this.");
|
|
116
|
+
}
|
|
132
117
|
}
|
|
133
|
-
catch {
|
|
134
|
-
|
|
118
|
+
catch { /* config read failure shouldn't block boot */ }
|
|
119
|
+
// ── Auto-prune ──
|
|
120
|
+
const pruneHours = resolved.pruneAfterHours;
|
|
121
|
+
if (pruneHours > 0) {
|
|
122
|
+
const interval = Math.min(pruneHours * 60 * 60 * 1000, 3_600_000);
|
|
123
|
+
const timer = setInterval(() => {
|
|
124
|
+
storage.pruneOlderThan(new Date(Date.now() - pruneHours * 60 * 60 * 1000));
|
|
125
|
+
}, interval);
|
|
126
|
+
timer.unref();
|
|
135
127
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
128
|
+
// ── Register collectors (subscribe once per process) ──
|
|
129
|
+
const metricsCollector = new MetricsCollector(storage, resolved.metricsIntervalMs);
|
|
130
|
+
const jobCollector = new JobCollector(storage, metricsCollector);
|
|
131
|
+
const workerCollector = new WorkerCollector(storage);
|
|
132
|
+
jobCollector.register();
|
|
133
|
+
// For out-of-process queues (BullMQ), `queueObservers` events fire in
|
|
134
|
+
// the worker process, not the dashboard. Letting both processes poll
|
|
135
|
+
// `MetricsCollector.collect()` makes the dashboard write
|
|
136
|
+
// `throughput: 0` rows that clobber the worker's real counts via the
|
|
137
|
+
// shared Redis history ZSet. Gate to the worker process. Sync queue
|
|
138
|
+
// is in-process — dashboard IS the worker, so we let it through.
|
|
139
|
+
const queueDriver = (() => {
|
|
140
|
+
try {
|
|
141
|
+
return config('queue', {})?.default;
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
})();
|
|
147
|
+
const outOfProcessQueue = queueDriver === 'bullmq';
|
|
148
|
+
const isWorkerProcess = process.env['RUDDERJS_QUEUE_WORKER'] === '1';
|
|
149
|
+
if (!outOfProcessQueue || isWorkerProcess) {
|
|
150
|
+
metricsCollector.register();
|
|
151
|
+
}
|
|
152
|
+
workerCollector.register();
|
|
153
|
+
runtime = { storage };
|
|
154
|
+
g[RT_KEY] = runtime;
|
|
141
155
|
}
|
|
142
|
-
|
|
143
|
-
|
|
156
|
+
const { storage } = runtime;
|
|
157
|
+
HorizonRegistry.set(storage);
|
|
158
|
+
this.app.instance('horizon', storage);
|
|
159
|
+
// ── Register UI + API routes (re-registered every boot; router.reset() wipes them) ──
|
|
144
160
|
await registerHorizonRoutes(storage, {
|
|
145
161
|
path: resolved.path,
|
|
146
162
|
...(resolved.auth ? { auth: resolved.auth } : {}),
|
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -76,8 +76,6 @@ export declare class RedisStorage implements HorizonStorage {
|
|
|
76
76
|
currentMetrics(): Promise<QueueMetric[]>;
|
|
77
77
|
recordWorker(worker: WorkerInfo): Promise<void>;
|
|
78
78
|
workers(): Promise<WorkerInfo[]>;
|
|
79
|
-
/** @internal — close the Redis connection. Used in tests + shutdown. */
|
|
80
|
-
disconnect(): Promise<void>;
|
|
81
79
|
private jobToHash;
|
|
82
80
|
private jobFromHash;
|
|
83
81
|
private metricToHash;
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/horizon",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.2",
|
|
4
4
|
"rudderjs": {
|
|
5
5
|
"provider": "HorizonProvider",
|
|
6
6
|
"stage": "monitoring"
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@rudderjs/console": "^1.1
|
|
36
|
-
"@rudderjs/core": "^1.1
|
|
37
|
-
"@rudderjs/contracts": "^1.
|
|
38
|
-
"@rudderjs/queue": "^4.
|
|
35
|
+
"@rudderjs/console": "^1.2.1",
|
|
36
|
+
"@rudderjs/core": "^1.5.1",
|
|
37
|
+
"@rudderjs/contracts": "^1.8.0",
|
|
38
|
+
"@rudderjs/queue": "^4.2.2"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@rudderjs/router": "^1.
|
|
42
|
-
"@rudderjs/middleware": "^1.1.
|
|
41
|
+
"@rudderjs/router": "^1.7.1",
|
|
42
|
+
"@rudderjs/middleware": "^1.1.3"
|
|
43
43
|
},
|
|
44
44
|
"optionalDependencies": {
|
|
45
45
|
"better-sqlite3": "^11.0.0",
|