@rudderjs/horizon 4.1.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/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
- /** Update an existing job record */
39
- updateJob(id: string, updates: Partial<HorizonJob>): void | Promise<void>;
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 ID */
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 failed job record */
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 */
@@ -67,11 +71,22 @@ export interface JobListOptions {
67
71
  search?: string | undefined;
68
72
  status?: JobStatus | undefined;
69
73
  }
74
+ export interface HorizonRedisConfig {
75
+ /** Redis URL: redis://[:password@]host[:port][/db] */
76
+ url?: string | undefined;
77
+ host?: string | undefined;
78
+ port?: number | undefined;
79
+ password?: string | undefined;
80
+ /** Key prefix — default: 'rudderjs' */
81
+ prefix?: string | undefined;
82
+ }
70
83
  export interface HorizonConfig {
71
84
  enabled?: boolean | undefined;
72
85
  path?: string | undefined;
73
- storage?: 'memory' | 'sqlite' | undefined;
86
+ storage?: 'memory' | 'sqlite' | 'redis' | undefined;
74
87
  sqlitePath?: string | undefined;
88
+ /** Redis connection used by `storage: 'redis'`. Reuses BullMQ field shape. */
89
+ redis?: HorizonRedisConfig | undefined;
75
90
  maxJobs?: number | undefined;
76
91
  pruneAfterHours?: number | undefined;
77
92
  metricsIntervalMs?: number | undefined;
@@ -82,6 +97,7 @@ export declare const defaultConfig: {
82
97
  path: string;
83
98
  storage: "memory";
84
99
  sqlitePath: string;
100
+ redis: HorizonRedisConfig;
85
101
  maxJobs: number;
86
102
  pruneAfterHours: number;
87
103
  metricsIntervalMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -4,6 +4,7 @@ export const defaultConfig = {
4
4
  path: 'horizon',
5
5
  storage: 'memory',
6
6
  sqlitePath: '.horizon.db',
7
+ redis: {},
7
8
  maxJobs: 1000,
8
9
  pruneAfterHours: 72,
9
10
  metricsIntervalMs: 60_000,
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAqG9D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAY,IAAI;IACvB,IAAI,EAAe,SAAS;IAC5B,OAAO,EAAY,QAAiB;IACpC,UAAU,EAAS,aAAa;IAChC,OAAO,EAAY,IAAI;IACvB,eAAe,EAAI,EAAE;IACrB,iBAAiB,EAAE,MAAM;IACzB,IAAI,EAAe,IAA6D;CACjF,CAAA"}
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,CA+BnD"}
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.id)"
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.id)"
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(id) {
71
- await fetch('${apiPrefix}/jobs/' + id + '/retry', { method: 'POST' })
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(id) {
75
- await fetch('${apiPrefix}/jobs/' + id, { method: 'DELETE' })
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;;;;;2BAKtB,SAAS;;;;2BAIT,SAAS;;;;;;;;;;;;cAYtB,CAAA;AACd,CAAC"}
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": "4.1.0",
3
+ "version": "6.0.0",
4
4
  "rudderjs": {
5
5
  "provider": "HorizonProvider",
6
6
  "stage": "monitoring"
@@ -26,19 +26,21 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@rudderjs/core": "^1.0.0",
29
- "@rudderjs/contracts": "^1.1.0",
30
- "@rudderjs/queue": "^4.0.0"
29
+ "@rudderjs/queue": "^4.1.0",
30
+ "@rudderjs/contracts": "^1.1.0"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@rudderjs/router": "^1.0.0",
34
34
  "@rudderjs/middleware": "^1.0.0"
35
35
  },
36
36
  "optionalDependencies": {
37
- "better-sqlite3": "^11.0.0"
37
+ "better-sqlite3": "^11.0.0",
38
+ "ioredis": "^5.3.0"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@types/node": "^20.0.0",
41
42
  "@types/better-sqlite3": "^7.6.0",
43
+ "ioredis": "^5.3.0",
42
44
  "typescript": "^5.4.0"
43
45
  },
44
46
  "author": "Suleiman Shahbari",