bullmq-dash 0.1.6 → 0.1.8
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 +11 -32
- package/dist/app.d.ts.map +1 -1
- package/dist/config.d.ts +37 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/data/jobs.d.ts +14 -0
- package/dist/data/jobs.d.ts.map +1 -1
- package/dist/data/schedulers.d.ts +8 -0
- package/dist/data/schedulers.d.ts.map +1 -1
- package/dist/errors.d.ts +2 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/formatters.d.ts +48 -0
- package/dist/formatters.d.ts.map +1 -0
- package/dist/index.js +886 -123
- package/dist/index.js.map +15 -12
- package/dist/json-reporter.d.ts +3 -0
- package/dist/json-reporter.d.ts.map +1 -0
- package/dist/polling.d.ts.map +1 -1
- package/dist/ui/layout.d.ts.map +1 -1
- package/dist/ui/scheduler-detail.d.ts.map +1 -1
- package/dist/ui/status-filter.d.ts.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Terminal UI dashboard for [BullMQ](https://bullmq.io/)
|
|
|
15
15
|
|
|
16
16
|
## Requirements
|
|
17
17
|
|
|
18
|
-
- [Bun](https://bun.sh/) >= 1.0.0
|
|
18
|
+
- [Bun](https://bun.sh/) >= 1.0.0
|
|
19
19
|
- Redis server with BullMQ queues
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
@@ -39,11 +39,6 @@ bullmq-dash
|
|
|
39
39
|
|
|
40
40
|
# Connect with CLI options
|
|
41
41
|
bullmq-dash --redis-host localhost --redis-port 6379
|
|
42
|
-
|
|
43
|
-
# Or use environment variables
|
|
44
|
-
export REDIS_HOST=localhost
|
|
45
|
-
export REDIS_PORT=6379
|
|
46
|
-
bullmq-dash
|
|
47
42
|
```
|
|
48
43
|
|
|
49
44
|
### CLI Options
|
|
@@ -123,6 +118,7 @@ When viewing scheduled jobs, the job list shows all Job Schedulers (repeatable j
|
|
|
123
118
|
| `j` | Jump to next delayed job (in detail view) |
|
|
124
119
|
|
|
125
120
|
The scheduler detail modal shows:
|
|
121
|
+
|
|
126
122
|
- **Basic info**: Key, name, pattern/interval, timezone
|
|
127
123
|
- **Statistics**: Iterations count, limits, created/next/end dates
|
|
128
124
|
- **Job template**: Default job data and options
|
|
@@ -131,38 +127,21 @@ The scheduler detail modal shows:
|
|
|
131
127
|
|
|
132
128
|
### Metrics Bar
|
|
133
129
|
|
|
134
|
-
| Metric | Description |
|
|
135
|
-
| ------ | ------------------------------ |
|
|
136
|
-
| QUEUES | Total number of queues |
|
|
137
|
-
| WAIT | Jobs waiting to be processed |
|
|
138
|
-
| ACTIVE | Jobs currently being processed |
|
|
139
|
-
| DONE | Completed jobs |
|
|
130
|
+
| Metric | Description |
|
|
131
|
+
| ------ | ------------------------------ |
|
|
132
|
+
| QUEUES | Total number of queues |
|
|
133
|
+
| WAIT | Jobs waiting to be processed |
|
|
134
|
+
| ACTIVE | Jobs currently being processed |
|
|
135
|
+
| DONE | Completed jobs |
|
|
140
136
|
| FAIL | Failed jobs |
|
|
141
|
-
| DELAY | Delayed jobs |
|
|
142
|
-
| ENQ | Jobs enqueued per minute |
|
|
137
|
+
| DELAY | Delayed jobs |
|
|
138
|
+
| ENQ | Jobs enqueued per minute |
|
|
143
139
|
| DEQ | Jobs dequeued per minute |
|
|
144
140
|
|
|
145
141
|
## Development
|
|
146
142
|
|
|
147
|
-
### Environment Variables
|
|
148
|
-
|
|
149
|
-
Create a `.env` file or set environment variables:
|
|
150
|
-
|
|
151
|
-
```env
|
|
152
|
-
# Redis connection
|
|
153
|
-
REDIS_HOST=localhost
|
|
154
|
-
REDIS_PORT=6379
|
|
155
|
-
REDIS_PASSWORD=your_password # Optional
|
|
156
|
-
REDIS_DB=0 # Optional, default: 0
|
|
157
|
-
|
|
158
|
-
# Polling interval in milliseconds
|
|
159
|
-
POLL_INTERVAL=3000 # Optional, default: 3000
|
|
160
|
-
|
|
161
|
-
# Filter specific queues (comma-separated)
|
|
162
|
-
QUEUE_NAMES=queue1,queue2 # Optional, monitors all queues if not set
|
|
163
|
-
```
|
|
164
|
-
|
|
165
143
|
### Scripts
|
|
144
|
+
|
|
166
145
|
```bash
|
|
167
146
|
# Run in development mode
|
|
168
147
|
bun run dev
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AA4DA,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,gBAAgB,CAA6B;IAE/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,qBAAqB;YAYf,cAAc;YAwJd,aAAa;YAgBb,mBAAmB;YAgBnB,oBAAoB;YAmBpB,aAAa;YA4Bb,eAAe;IAoB7B,OAAO,CAAC,MAAM;YAqGA,OAAO;CAoBtB"}
|
package/dist/config.d.ts
CHANGED
|
@@ -41,6 +41,26 @@ declare const configSchema: z.ZodObject<{
|
|
|
41
41
|
queueNames?: string[] | undefined;
|
|
42
42
|
}>;
|
|
43
43
|
export type Config = z.infer<typeof configSchema>;
|
|
44
|
+
export type Subcommand = {
|
|
45
|
+
kind: "queues-list";
|
|
46
|
+
} | {
|
|
47
|
+
kind: "jobs-list";
|
|
48
|
+
queue: string;
|
|
49
|
+
jobState?: string;
|
|
50
|
+
pageSize?: number;
|
|
51
|
+
} | {
|
|
52
|
+
kind: "jobs-get";
|
|
53
|
+
queue: string;
|
|
54
|
+
jobId: string;
|
|
55
|
+
} | {
|
|
56
|
+
kind: "schedulers-list";
|
|
57
|
+
queue: string;
|
|
58
|
+
pageSize?: number;
|
|
59
|
+
} | {
|
|
60
|
+
kind: "schedulers-get";
|
|
61
|
+
queue: string;
|
|
62
|
+
schedulerId: string;
|
|
63
|
+
};
|
|
44
64
|
export interface CliArgs {
|
|
45
65
|
redisHost?: string;
|
|
46
66
|
redisPort?: number;
|
|
@@ -51,18 +71,32 @@ export interface CliArgs {
|
|
|
51
71
|
queues?: string[];
|
|
52
72
|
help?: boolean;
|
|
53
73
|
version?: boolean;
|
|
74
|
+
tui?: boolean;
|
|
75
|
+
subcommand?: Subcommand;
|
|
76
|
+
humanFriendly?: boolean;
|
|
54
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Separate subcommand tokens (positional args) from flag tokens.
|
|
80
|
+
* Returns the subcommand positionals and the remaining argv for parseArgs.
|
|
81
|
+
*/
|
|
82
|
+
export declare function extractSubcommand(argv: string[]): {
|
|
83
|
+
positionals: string[];
|
|
84
|
+
flagArgv: string[];
|
|
85
|
+
};
|
|
86
|
+
export declare function parseNumericFlag(flagName: string, rawValue: string | undefined, options?: {
|
|
87
|
+
min?: number;
|
|
88
|
+
}): number | undefined;
|
|
55
89
|
export declare function parseCliArgs(): CliArgs;
|
|
56
|
-
export declare function showHelp(): void;
|
|
90
|
+
export declare function showHelp(exitCode?: number): void;
|
|
57
91
|
export declare function showVersion(): void;
|
|
58
92
|
export declare function getVersionText(): string;
|
|
59
93
|
export declare function parseQueueNames(value: string | undefined): string[] | undefined;
|
|
60
94
|
/**
|
|
61
|
-
* Check if Redis host is configured
|
|
95
|
+
* Check if Redis host is configured via CLI args
|
|
62
96
|
*/
|
|
63
97
|
export declare function hasRedisHostConfig(cliArgs: CliArgs): boolean;
|
|
64
98
|
/**
|
|
65
|
-
* Load config with priority: CLI args >
|
|
99
|
+
* Load config with priority: CLI args > defaults
|
|
66
100
|
*/
|
|
67
101
|
export declare function loadConfig(cliArgs: CliArgs): Config;
|
|
68
102
|
/**
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAIlD,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAiKD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAwB/F;AAiMD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,GAAG,SAAS,CAoBpB;AAED,wBAAgB,YAAY,IAAI,OAAO,CAkHtC;AAED,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,MAAU,GAAG,IAAI,CAGnD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAoBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAM/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAsBnD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,OAAO,EAAE,OAAO,GACf,MAAM,CAsBR;AAKD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,SAAS,IAAI,MAAM,CAKlC"}
|
package/dist/data/jobs.d.ts
CHANGED
|
@@ -25,6 +25,20 @@ export interface JobsResult {
|
|
|
25
25
|
pageSize: number;
|
|
26
26
|
totalPages: number;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Valid job state values for the --job-state flag
|
|
30
|
+
*/
|
|
31
|
+
export declare const VALID_JOB_STATUSES: readonly ["wait", "active", "completed", "failed", "delayed"];
|
|
32
|
+
export type JsonJobStatus = (typeof VALID_JOB_STATUSES)[number];
|
|
33
|
+
/**
|
|
34
|
+
* Get all jobs for a queue, optionally filtered by status.
|
|
35
|
+
* Returns up to `maxResults` jobs (default 1000) to prevent OOM on huge queues.
|
|
36
|
+
* Used by subcommand mode for bulk export.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getAllJobs(queueName: string, status?: JsonJobStatus, maxResults?: number): Promise<{
|
|
39
|
+
jobs: JobSummary[];
|
|
40
|
+
total: number;
|
|
41
|
+
}>;
|
|
28
42
|
/**
|
|
29
43
|
* Get jobs by status with pagination
|
|
30
44
|
*/
|
package/dist/data/jobs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/data/jobs.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/data/jobs.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;GAEG;AACH,eAAO,MAAM,kBAAkB,+DAAgE,CAAC;AAChG,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAQhE;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmFhD;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,MAAU,EAChB,QAAQ,GAAE,MAAkB,GAC3B,OAAO,CAAC,UAAU,CAAC,CAgHrB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA2B9F;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUlF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAc5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGrE"}
|
|
@@ -54,6 +54,14 @@ export interface SchedulersResult {
|
|
|
54
54
|
pageSize: number;
|
|
55
55
|
totalPages: number;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Get all job schedulers for a queue (up to maxResults).
|
|
59
|
+
* Used by --json mode for bulk export.
|
|
60
|
+
*/
|
|
61
|
+
export declare function getAllJobSchedulers(queueName: string, maxResults?: number): Promise<{
|
|
62
|
+
schedulers: JobSchedulerSummary[];
|
|
63
|
+
total: number;
|
|
64
|
+
}>;
|
|
57
65
|
/**
|
|
58
66
|
* Get job schedulers with pagination
|
|
59
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedulers.d.ts","sourceRoot":"","sources":["../../src/data/schedulers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schedulers.d.ts","sourceRoot":"","sources":["../../src/data/schedulers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IAEF,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC;IAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB/D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAU,EAChB,QAAQ,GAAE,MAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA2B3B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAgFpC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAY7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAiBnE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAQ7E"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEhF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { QueueStats } from "./data/queues.js";
|
|
2
|
+
import type { JobSummary, JobDetail } from "./data/jobs.js";
|
|
3
|
+
import type { JobSchedulerSummary, JobSchedulerDetail } from "./data/schedulers.js";
|
|
4
|
+
interface QueuesOverviewData {
|
|
5
|
+
timestamp: string;
|
|
6
|
+
queues: QueueStats[];
|
|
7
|
+
metrics: {
|
|
8
|
+
queueCount: number;
|
|
9
|
+
jobCounts: {
|
|
10
|
+
wait: number;
|
|
11
|
+
active: number;
|
|
12
|
+
completed: number;
|
|
13
|
+
failed: number;
|
|
14
|
+
delayed: number;
|
|
15
|
+
total: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare function formatQueuesOverview(data: QueuesOverviewData): string;
|
|
20
|
+
interface JobsListData {
|
|
21
|
+
timestamp: string;
|
|
22
|
+
queue: string;
|
|
23
|
+
jobState: string;
|
|
24
|
+
jobs: JobSummary[];
|
|
25
|
+
total: number;
|
|
26
|
+
}
|
|
27
|
+
export declare function formatJobsList(data: JobsListData): string;
|
|
28
|
+
interface JobDetailData {
|
|
29
|
+
timestamp: string;
|
|
30
|
+
queue: string;
|
|
31
|
+
job: JobDetail;
|
|
32
|
+
}
|
|
33
|
+
export declare function formatJobDetail(data: JobDetailData): string;
|
|
34
|
+
interface SchedulersListData {
|
|
35
|
+
timestamp: string;
|
|
36
|
+
queue: string;
|
|
37
|
+
schedulers: JobSchedulerSummary[];
|
|
38
|
+
total: number;
|
|
39
|
+
}
|
|
40
|
+
export declare function formatSchedulersList(data: SchedulersListData): string;
|
|
41
|
+
interface SchedulerDetailData {
|
|
42
|
+
timestamp: string;
|
|
43
|
+
queue: string;
|
|
44
|
+
scheduler: JobSchedulerDetail;
|
|
45
|
+
}
|
|
46
|
+
export declare function formatSchedulerDetail(data: SchedulerDetailData): string;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAiB,MAAM,sBAAsB,CAAC;AAqDnG,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAoCrE;AAID,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAQzD;AAID,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CA0C3D;AAID,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAerE;AAID,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAyDvE"}
|