@bull-board/cli 9.6.0 → 9.7.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 +17 -0
- package/dist/config/flags.d.ts +8 -0
- package/dist/config/flags.js +2 -0
- package/dist/config/flags.js.map +1 -1
- package/dist/config/resolve.js +33 -11
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/types.d.ts +19 -0
- package/dist/help.d.ts +1 -1
- package/dist/help.js +9 -0
- package/dist/help.js.map +1 -1
- package/dist/history.d.ts +16 -0
- package/dist/history.js +46 -0
- package/dist/history.js.map +1 -0
- package/dist/index.js +23 -2
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +1 -0
- package/dist/registry.js +3 -0
- package/dist/registry.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -38,6 +38,9 @@ Options:
|
|
|
38
38
|
--user <name> Basic auth user (requires --password)
|
|
39
39
|
--password <pass> Basic auth password (requires --user)
|
|
40
40
|
--board-title <s> Dashboard title
|
|
41
|
+
--history Record and serve long-retention metrics history
|
|
42
|
+
--history-retention-days <n>
|
|
43
|
+
Days of history to keep [90]
|
|
41
44
|
--config <file> Path to a config file
|
|
42
45
|
--browser <command> Command to open the browser with [$BROWSER]
|
|
43
46
|
--no-open Do not open a browser
|
|
@@ -64,6 +67,20 @@ module.exports = {
|
|
|
64
67
|
};
|
|
65
68
|
```
|
|
66
69
|
|
|
70
|
+
## Historical metrics
|
|
71
|
+
|
|
72
|
+
`--history` turns on the long-retention metrics that otherwise need `@bull-board/metrics` wired into an app of your own:
|
|
73
|
+
|
|
74
|
+
```sh
|
|
75
|
+
npx @bull-board/cli -r redis://localhost:6379 --history
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Every queue chart gains a 60m / 7d / 30d / 90d range selector, and a cross-queue Metrics history page shows up in the sidebar. The CLI process does the recording itself, copying throughput, wait time, run time and queue age into Redis once a minute under the `bull-board:metrics:` namespace, never over a key Bull or BullMQ owns. Recording follows discovery, so a queue that appears between rescans is picked up on the next tick.
|
|
79
|
+
|
|
80
|
+
`--history-retention-days` sets the window, 90 days by default. Per-tier retention, the snapshot interval and `latency: false` go in the config file under a `history` key. `--read-only` keeps the reading and stops the writing, for a board that only displays what another process records.
|
|
81
|
+
|
|
82
|
+
Completed and failed history comes out of BullMQ's own metrics buffer, so it stays empty unless your workers were built with `metrics: { maxDataPoints: MetricsTime.ONE_WEEK }`; the CLI warns at startup when no discovered queue has any. Latency and queue age need nothing from your workers. See the [historical metrics recipe](https://felixmosh.github.io/bull-board/recipes/historical-metrics) for storage sizing and what the charts show.
|
|
83
|
+
|
|
67
84
|
## Docker
|
|
68
85
|
|
|
69
86
|
```sh
|
package/dist/config/flags.d.ts
CHANGED
|
@@ -34,6 +34,12 @@ export declare const FLAG_OPTIONS: {
|
|
|
34
34
|
readonly 'board-title': {
|
|
35
35
|
readonly type: "string";
|
|
36
36
|
};
|
|
37
|
+
readonly history: {
|
|
38
|
+
readonly type: "boolean";
|
|
39
|
+
};
|
|
40
|
+
readonly 'history-retention-days': {
|
|
41
|
+
readonly type: "string";
|
|
42
|
+
};
|
|
37
43
|
readonly config: {
|
|
38
44
|
readonly type: "string";
|
|
39
45
|
};
|
|
@@ -67,6 +73,8 @@ export declare function parseFlags(argv: string[]): {
|
|
|
67
73
|
user?: string | undefined;
|
|
68
74
|
password?: string | undefined;
|
|
69
75
|
'board-title'?: string | undefined;
|
|
76
|
+
history?: boolean | undefined;
|
|
77
|
+
'history-retention-days'?: string | undefined;
|
|
70
78
|
config?: string | undefined;
|
|
71
79
|
'no-open'?: boolean | undefined;
|
|
72
80
|
'no-retry'?: boolean | undefined;
|
package/dist/config/flags.js
CHANGED
|
@@ -15,6 +15,8 @@ exports.FLAG_OPTIONS = {
|
|
|
15
15
|
user: { type: 'string' },
|
|
16
16
|
password: { type: 'string' },
|
|
17
17
|
'board-title': { type: 'string' },
|
|
18
|
+
history: { type: 'boolean' },
|
|
19
|
+
'history-retention-days': { type: 'string' },
|
|
18
20
|
config: { type: 'string' },
|
|
19
21
|
'no-open': { type: 'boolean' },
|
|
20
22
|
'no-retry': { type: 'boolean' },
|
package/dist/config/flags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/config/flags.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/config/flags.ts"],"names":[],"mappings":";;;AAwBA,gCAIC;AA5BD,yCAAsC;AAEzB,QAAA,YAAY,GAAG;IAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACrC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACpC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACnC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAChC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5B,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;IACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;IACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACnB,CAAC;AAEX,SAAgB,UAAU,CAAC,IAAc;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7F,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/config/resolve.js
CHANGED
|
@@ -40,7 +40,7 @@ function normalizeBasePath(value) {
|
|
|
40
40
|
return trimmed === '' ? '' : `/${trimmed}`;
|
|
41
41
|
}
|
|
42
42
|
function resolveConfig({ flags, env, file, }) {
|
|
43
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
|
|
43
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
44
44
|
const explicitQueues = Array.isArray(file.queues) ? file.queues : undefined;
|
|
45
45
|
const queueOptions = (file.queues && !Array.isArray(file.queues) ? file.queues : {});
|
|
46
46
|
const user = firstDefined(flags.user, env.BULL_BOARD_USER, file.user);
|
|
@@ -53,21 +53,43 @@ function resolveConfig({ flags, env, file, }) {
|
|
|
53
53
|
if (boardTitle) {
|
|
54
54
|
uiConfig.boardTitle = boardTitle;
|
|
55
55
|
}
|
|
56
|
+
const readOnly = (_c = (_b = (_a = flags['read-only']) !== null && _a !== void 0 ? _a : toBoolean(env.BULL_BOARD_READ_ONLY)) !== null && _b !== void 0 ? _b : file.readOnly) !== null && _c !== void 0 ? _c : false;
|
|
57
|
+
const history = resolveHistory({ flags, env, file, readOnly });
|
|
58
|
+
if (history) {
|
|
59
|
+
// Without showMetrics the per-queue chart never renders, so nor does its range selector.
|
|
60
|
+
uiConfig.showMetrics = (_d = uiConfig.showMetrics) !== null && _d !== void 0 ? _d : true;
|
|
61
|
+
}
|
|
56
62
|
return {
|
|
57
|
-
redisUrl: (
|
|
58
|
-
port: (
|
|
59
|
-
host: (
|
|
60
|
-
prefixes: (
|
|
61
|
-
queueNames: (
|
|
62
|
-
scanInterval: (
|
|
63
|
-
basePath: (
|
|
64
|
-
readOnly
|
|
63
|
+
redisUrl: (_e = firstDefined(flags.redis, env.BULL_BOARD_REDIS_URL, file.redis)) !== null && _e !== void 0 ? _e : DEFAULTS.redisUrl,
|
|
64
|
+
port: (_h = (_g = (_f = toNumber(flags.port, 'port')) !== null && _f !== void 0 ? _f : toNumber(env.BULL_BOARD_PORT, 'port')) !== null && _g !== void 0 ? _g : toNumber(file.port, 'port')) !== null && _h !== void 0 ? _h : DEFAULTS.port,
|
|
65
|
+
host: (_j = firstDefined(flags.host, env.BULL_BOARD_HOST, file.host)) !== null && _j !== void 0 ? _j : DEFAULTS.host,
|
|
66
|
+
prefixes: (_m = (_l = (_k = toList(flags.prefix)) !== null && _k !== void 0 ? _k : toList(env.BULL_BOARD_PREFIX)) !== null && _l !== void 0 ? _l : toList(file.prefix)) !== null && _m !== void 0 ? _m : DEFAULTS.prefixes,
|
|
67
|
+
queueNames: (_q = (_p = (_o = toList(flags.queues)) !== null && _o !== void 0 ? _o : toList(env.BULL_BOARD_QUEUES)) !== null && _p !== void 0 ? _p : toList(explicitQueues)) !== null && _q !== void 0 ? _q : null,
|
|
68
|
+
scanInterval: (_t = (_s = (_r = toNumber(flags['scan-interval'], 'scan-interval')) !== null && _r !== void 0 ? _r : toNumber(env.BULL_BOARD_SCAN_INTERVAL, 'scan-interval')) !== null && _s !== void 0 ? _s : toNumber(file.scanInterval, 'scan-interval')) !== null && _t !== void 0 ? _t : DEFAULTS.scanInterval,
|
|
69
|
+
basePath: (_w = (_v = (_u = normalizeBasePath(flags['base-path'])) !== null && _u !== void 0 ? _u : normalizeBasePath(env.BULL_BOARD_BASE_PATH)) !== null && _v !== void 0 ? _v : normalizeBasePath(file.basePath)) !== null && _w !== void 0 ? _w : '',
|
|
70
|
+
readOnly,
|
|
65
71
|
auth: user && password ? { user, password } : null,
|
|
66
|
-
open: flags['no-open'] === true ? false : ((
|
|
72
|
+
open: flags['no-open'] === true ? false : ((_y = (_x = toBoolean(env.BULL_BOARD_OPEN)) !== null && _x !== void 0 ? _x : file.open) !== null && _y !== void 0 ? _y : true),
|
|
67
73
|
browser: firstDefined(flags.browser, env.BULL_BOARD_BROWSER, env.BROWSER, file.browser),
|
|
68
74
|
uiConfig,
|
|
69
75
|
queueOptions,
|
|
70
|
-
noRetry: (
|
|
76
|
+
noRetry: (_1 = (_0 = (_z = flags['no-retry']) !== null && _z !== void 0 ? _z : toBoolean(env.BULL_BOARD_NO_RETRY)) !== null && _0 !== void 0 ? _0 : file.noRetry) !== null && _1 !== void 0 ? _1 : false,
|
|
77
|
+
history,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function resolveHistory({ flags, env, file, readOnly, }) {
|
|
81
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
82
|
+
const fileHistory = typeof file.history === 'boolean' ? { enabled: file.history } : ((_a = file.history) !== null && _a !== void 0 ? _a : {});
|
|
83
|
+
const enabled = (_d = (_c = (_b = flags.history) !== null && _b !== void 0 ? _b : toBoolean(env.BULL_BOARD_HISTORY)) !== null && _c !== void 0 ? _c : fileHistory.enabled) !== null && _d !== void 0 ? _d : false;
|
|
84
|
+
if (!enabled)
|
|
85
|
+
return null;
|
|
86
|
+
return {
|
|
87
|
+
// Recording writes to Redis, which is what --read-only says not to do.
|
|
88
|
+
record: (_e = fileHistory.record) !== null && _e !== void 0 ? _e : !readOnly,
|
|
89
|
+
retentionDays: (_g = (_f = toNumber(flags['history-retention-days'], 'history-retention-days')) !== null && _f !== void 0 ? _f : toNumber(env.BULL_BOARD_HISTORY_RETENTION_DAYS, 'history-retention-days')) !== null && _g !== void 0 ? _g : toNumber(fileHistory.retentionDays, 'history-retention-days'),
|
|
90
|
+
retention: fileHistory.retention,
|
|
91
|
+
latency: (_h = fileHistory.latency) !== null && _h !== void 0 ? _h : true,
|
|
92
|
+
snapshotIntervalMs: fileHistory.snapshotIntervalMs,
|
|
71
93
|
};
|
|
72
94
|
}
|
|
73
95
|
//# sourceMappingURL=resolve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":";;AAgDA,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import type { QueueAdapterOptions, UIConfig } from '@bull-board/api/typings/app';
|
|
2
|
+
import type { Retention } from '@bull-board/metrics';
|
|
3
|
+
export interface FileHistoryConfig {
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
/** Write snapshots from this process. Defaults to true unless the board is read-only. */
|
|
6
|
+
record?: boolean;
|
|
7
|
+
retentionDays?: number;
|
|
8
|
+
retention?: Partial<Retention>;
|
|
9
|
+
latency?: boolean;
|
|
10
|
+
snapshotIntervalMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface HistoryConfig {
|
|
13
|
+
record: boolean;
|
|
14
|
+
retentionDays?: number;
|
|
15
|
+
retention?: Partial<Retention>;
|
|
16
|
+
latency: boolean;
|
|
17
|
+
snapshotIntervalMs?: number;
|
|
18
|
+
}
|
|
2
19
|
export interface FileConfig {
|
|
3
20
|
redis?: string;
|
|
4
21
|
port?: number;
|
|
@@ -14,6 +31,7 @@ export interface FileConfig {
|
|
|
14
31
|
browser?: string;
|
|
15
32
|
uiConfig?: UIConfig;
|
|
16
33
|
noRetry?: boolean;
|
|
34
|
+
history?: boolean | FileHistoryConfig;
|
|
17
35
|
}
|
|
18
36
|
export interface CliConfig {
|
|
19
37
|
redisUrl: string;
|
|
@@ -33,4 +51,5 @@ export interface CliConfig {
|
|
|
33
51
|
uiConfig: UIConfig;
|
|
34
52
|
queueOptions: Record<string, Partial<QueueAdapterOptions>>;
|
|
35
53
|
noRetry: boolean;
|
|
54
|
+
history: HistoryConfig | null;
|
|
36
55
|
}
|
package/dist/help.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const HELP = "\nbull-board - run the bull-board dashboard against a Redis instance\n\nUsage:\n bull-board [options]\n npx @bull-board/cli [options]\n\nOptions:\n -r, --redis <url> Redis connection URL [redis://localhost:6379]\n -p, --port <port> Port to listen on [3000]\n --host <address> Interface to bind [127.0.0.1]\n --prefix <list> Comma separated key prefixes [bull]\n --queues <list> Use these queue names instead of discovering\n --scan-interval <s> Seconds between rescans, 0 to scan once [10]\n --base-path <path> Serve the dashboard under a path prefix\n --read-only Disable every destructive action\n --user <name> Basic auth user (requires --password)\n --password <pass> Basic auth password (requires --user)\n --board-title <s> Dashboard title\n --config <file> Path to a config file\n --browser <command> Command to open the browser with [$BROWSER]\n --no-open Do not open a browser\n --no-retry Exit if Redis is unreachable instead of retrying\n -h, --help Show this help\n -v, --version Show the version\n\nIf Redis is unreachable at startup, bull-board still opens: it serves a\ndiagnostic page explaining why, keeps retrying every 3 seconds, and switches\nto the real dashboard on its own once Redis answers. That only covers\nstartup: once the dashboard is live it stays live, even if Redis goes away\nlater. The diagnostic page does not come back; API requests just stop\nreturning until Redis is reachable again, and Ctrl-C still works.\nPass --no-retry to get the old behaviour back instead: print the error and\nexit 1 immediately, without opening a port.\n\nEnvironment variables mirror every flag, for example BULL_BOARD_REDIS_URL,\nBULL_BOARD_PORT, BULL_BOARD_READ_ONLY.\n\nExamples:\n bull-board\n bull-board -r redis://localhost:6379 -p 4000\n bull-board --prefix tenant-a,tenant-b --read-only\n bull-board --user admin --password secret --host 0.0.0.0\n";
|
|
1
|
+
export declare const HELP = "\nbull-board - run the bull-board dashboard against a Redis instance\n\nUsage:\n bull-board [options]\n npx @bull-board/cli [options]\n\nOptions:\n -r, --redis <url> Redis connection URL [redis://localhost:6379]\n -p, --port <port> Port to listen on [3000]\n --host <address> Interface to bind [127.0.0.1]\n --prefix <list> Comma separated key prefixes [bull]\n --queues <list> Use these queue names instead of discovering\n --scan-interval <s> Seconds between rescans, 0 to scan once [10]\n --base-path <path> Serve the dashboard under a path prefix\n --read-only Disable every destructive action\n --user <name> Basic auth user (requires --password)\n --password <pass> Basic auth password (requires --user)\n --board-title <s> Dashboard title\n --history Record and serve long-retention metrics history\n --history-retention-days <n>\n Days of history to keep [90]\n --config <file> Path to a config file\n --browser <command> Command to open the browser with [$BROWSER]\n --no-open Do not open a browser\n --no-retry Exit if Redis is unreachable instead of retrying\n -h, --help Show this help\n -v, --version Show the version\n\nIf Redis is unreachable at startup, bull-board still opens: it serves a\ndiagnostic page explaining why, keeps retrying every 3 seconds, and switches\nto the real dashboard on its own once Redis answers. That only covers\nstartup: once the dashboard is live it stays live, even if Redis goes away\nlater. The diagnostic page does not come back; API requests just stop\nreturning until Redis is reachable again, and Ctrl-C still works.\nPass --no-retry to get the old behaviour back instead: print the error and\nexit 1 immediately, without opening a port.\n\n--history turns on historical metrics: the dashboard gains a range selector\nper queue and a cross-queue Metrics history page, and this process records\nthroughput, latency and queue age into Redis under the bull-board:metrics:\nnamespace once a minute. --read-only stops the recording but keeps serving\nwhatever another process has recorded.\n\nEnvironment variables mirror every flag, for example BULL_BOARD_REDIS_URL,\nBULL_BOARD_PORT, BULL_BOARD_READ_ONLY.\n\nExamples:\n bull-board\n bull-board -r redis://localhost:6379 -p 4000\n bull-board --prefix tenant-a,tenant-b --read-only\n bull-board --user admin --password secret --host 0.0.0.0\n";
|
package/dist/help.js
CHANGED
|
@@ -20,6 +20,9 @@ Options:
|
|
|
20
20
|
--user <name> Basic auth user (requires --password)
|
|
21
21
|
--password <pass> Basic auth password (requires --user)
|
|
22
22
|
--board-title <s> Dashboard title
|
|
23
|
+
--history Record and serve long-retention metrics history
|
|
24
|
+
--history-retention-days <n>
|
|
25
|
+
Days of history to keep [90]
|
|
23
26
|
--config <file> Path to a config file
|
|
24
27
|
--browser <command> Command to open the browser with [$BROWSER]
|
|
25
28
|
--no-open Do not open a browser
|
|
@@ -36,6 +39,12 @@ returning until Redis is reachable again, and Ctrl-C still works.
|
|
|
36
39
|
Pass --no-retry to get the old behaviour back instead: print the error and
|
|
37
40
|
exit 1 immediately, without opening a port.
|
|
38
41
|
|
|
42
|
+
--history turns on historical metrics: the dashboard gains a range selector
|
|
43
|
+
per queue and a cross-queue Metrics history page, and this process records
|
|
44
|
+
throughput, latency and queue age into Redis under the bull-board:metrics:
|
|
45
|
+
namespace once a minute. --read-only stops the recording but keeps serving
|
|
46
|
+
whatever another process has recorded.
|
|
47
|
+
|
|
39
48
|
Environment variables mirror every flag, for example BULL_BOARD_REDIS_URL,
|
|
40
49
|
BULL_BOARD_PORT, BULL_BOARD_READ_ONLY.
|
|
41
50
|
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDnB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BaseAdapter } from '@bull-board/api/baseAdapter';
|
|
2
|
+
import type { MetricsHistoryProvider } from '@bull-board/api/typings/app';
|
|
3
|
+
import type { Redis } from 'ioredis';
|
|
4
|
+
import type { HistoryConfig } from './config/types';
|
|
5
|
+
export interface HistoryRuntime {
|
|
6
|
+
provider: MetricsHistoryProvider;
|
|
7
|
+
start(queues: () => BaseAdapter[]): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|
|
10
|
+
export interface HistoryDeps {
|
|
11
|
+
client: Redis;
|
|
12
|
+
config: HistoryConfig;
|
|
13
|
+
onWarning(message: string): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createHistory({ client, config, onWarning }: HistoryDeps): HistoryRuntime;
|
|
16
|
+
export declare function warnIfCountersUnavailable(queues: BaseAdapter[], onWarning: (message: string) => void): Promise<void>;
|
package/dist/history.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createHistory = createHistory;
|
|
4
|
+
exports.warnIfCountersUnavailable = warnIfCountersUnavailable;
|
|
5
|
+
const metrics_1 = require("@bull-board/metrics");
|
|
6
|
+
const describeError_1 = require("./describeError");
|
|
7
|
+
function createHistory({ client, config, onWarning }) {
|
|
8
|
+
const retentionWindow = { retentionDays: config.retentionDays, retention: config.retention };
|
|
9
|
+
const provider = new metrics_1.RedisMetricsHistoryProvider({ connection: client, ...retentionWindow });
|
|
10
|
+
let recorder = null;
|
|
11
|
+
return {
|
|
12
|
+
provider,
|
|
13
|
+
start(queues) {
|
|
14
|
+
if (!config.record || recorder)
|
|
15
|
+
return;
|
|
16
|
+
recorder = new metrics_1.MetricsRecorder({
|
|
17
|
+
queues,
|
|
18
|
+
connection: client,
|
|
19
|
+
...retentionWindow,
|
|
20
|
+
latency: config.latency,
|
|
21
|
+
snapshotIntervalMs: config.snapshotIntervalMs,
|
|
22
|
+
onLatencyError: (error, queueName) => onWarning(`Latency sampling failed for "${queueName}": ${(0, describeError_1.describeError)(error)}`),
|
|
23
|
+
});
|
|
24
|
+
recorder.start();
|
|
25
|
+
},
|
|
26
|
+
stop() {
|
|
27
|
+
recorder === null || recorder === void 0 ? void 0 : recorder.stop();
|
|
28
|
+
recorder = null;
|
|
29
|
+
provider.disconnect();
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async function warnIfCountersUnavailable(queues, onWarning) {
|
|
34
|
+
if (queues.length === 0)
|
|
35
|
+
return;
|
|
36
|
+
const populated = await Promise.all(queues.map((queue) => queue
|
|
37
|
+
.getMetrics('completed')
|
|
38
|
+
.then((metrics) => { var _a, _b; return ((_b = (_a = metrics === null || metrics === void 0 ? void 0 : metrics.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0; })
|
|
39
|
+
.catch(() => false)));
|
|
40
|
+
if (populated.some(Boolean))
|
|
41
|
+
return;
|
|
42
|
+
onWarning('No BullMQ metrics data found on any queue. Completed and failed history stays empty ' +
|
|
43
|
+
'until your workers are created with metrics: { maxDataPoints: MetricsTime.ONE_WEEK }. ' +
|
|
44
|
+
'Latency and queue age are recorded either way.');
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":";;AAmBA,sCA2BC;AAED,8DAqBC;AAnED,iDAAmF;AAGnF,mDAAgD;AAchD,SAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAe;IACtE,MAAM,eAAe,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC7F,MAAM,QAAQ,GAAG,IAAI,qCAA2B,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;IAC7F,IAAI,QAAQ,GAA2B,IAAI,CAAC;IAE5C,OAAO;QACL,QAAQ;QACR,KAAK,CAAC,MAAM;YACV,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ;gBAAE,OAAO;YAEvC,QAAQ,GAAG,IAAI,yBAAe,CAAC;gBAC7B,MAAM;gBACN,UAAU,EAAE,MAAM;gBAClB,GAAG,eAAe;gBAClB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CACnC,SAAS,CAAC,gCAAgC,SAAS,MAAM,IAAA,6BAAa,EAAC,KAAc,CAAC,EAAE,CAAC;aAC5F,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,IAAI;YACF,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAC;YACjB,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,MAAqB,EACrB,SAAoC;IAEpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEhC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,KAAK;SACF,UAAU,CAAC,WAAW,CAAC;SACvB,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAA,EAAA,CAAC;SACnD,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CACtB,CACF,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO;IAEpC,SAAS,CACP,sFAAsF;QACpF,wFAAwF;QACxF,gDAAgD,CACnD,CAAC;AACJ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ const connectionState_1 = require("./connectionState");
|
|
|
9
9
|
const describeError_1 = require("./describeError");
|
|
10
10
|
Object.defineProperty(exports, "describeError", { enumerable: true, get: function () { return describeError_1.describeError; } });
|
|
11
11
|
const discovery_1 = require("./discovery");
|
|
12
|
+
const history_1 = require("./history");
|
|
12
13
|
const queueFactory_1 = require("./queueFactory");
|
|
13
14
|
const registry_1 = require("./registry");
|
|
14
15
|
const server_1 = require("./server");
|
|
@@ -50,14 +51,17 @@ async function run(config, log = console, { beforeReady, } = {}) {
|
|
|
50
51
|
'outside this machine, with no --user/--password set. Anyone who can reach it can ' +
|
|
51
52
|
'view and modify every queue. Set --user and --password, or bind to 127.0.0.1.');
|
|
52
53
|
}
|
|
54
|
+
const onWarning = (message) => log.warn(message);
|
|
55
|
+
const history = config.history
|
|
56
|
+
? (0, history_1.createHistory)({ client, config: config.history, onWarning })
|
|
57
|
+
: null;
|
|
53
58
|
const serverAdapter = new express_1.ExpressAdapter();
|
|
54
59
|
serverAdapter.setBasePath(config.basePath);
|
|
55
60
|
const board = (0, api_1.createBullBoard)({
|
|
56
61
|
queues: [],
|
|
57
62
|
serverAdapter,
|
|
58
|
-
options: { uiConfig: config.uiConfig },
|
|
63
|
+
options: { uiConfig: config.uiConfig, historyProvider: history === null || history === void 0 ? void 0 : history.provider },
|
|
59
64
|
});
|
|
60
|
-
const onWarning = (message) => log.warn(message);
|
|
61
65
|
const queues = (0, queueFactory_1.createQueueFactory)({
|
|
62
66
|
client,
|
|
63
67
|
readOnly: config.readOnly,
|
|
@@ -76,6 +80,19 @@ async function run(config, log = console, { beforeReady, } = {}) {
|
|
|
76
80
|
await registry.sync(discovered);
|
|
77
81
|
return discovered.length;
|
|
78
82
|
};
|
|
83
|
+
const startHistory = async () => {
|
|
84
|
+
var _a;
|
|
85
|
+
if (!history)
|
|
86
|
+
return;
|
|
87
|
+
history.start(() => registry.adapters());
|
|
88
|
+
if ((_a = config.history) === null || _a === void 0 ? void 0 : _a.record) {
|
|
89
|
+
await (0, history_1.warnIfCountersUnavailable)(registry.adapters(), onWarning);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
log.warn('Historical metrics are served read-only: this process records nothing, so the charts ' +
|
|
93
|
+
'show only what another process has already recorded.');
|
|
94
|
+
}
|
|
95
|
+
};
|
|
79
96
|
const logIfIdle = (count) => {
|
|
80
97
|
if (count === 0) {
|
|
81
98
|
log.log(`No queues found under ${config.prefixes.join(', ')} yet. ` +
|
|
@@ -101,9 +118,11 @@ async function run(config, log = console, { beforeReady, } = {}) {
|
|
|
101
118
|
throw new Error(`Could not connect to Redis at ${(0, connectionState_1.maskRedisUrl)(config.redisUrl)}: ${(0, describeError_1.describeError)(attemptError !== null && attemptError !== void 0 ? attemptError : error)}`);
|
|
102
119
|
}
|
|
103
120
|
const count = await scan();
|
|
121
|
+
await startHistory();
|
|
104
122
|
const server = await (0, server_1.startServer)(config, { serverAdapter });
|
|
105
123
|
const close = async () => {
|
|
106
124
|
closing = true;
|
|
125
|
+
history === null || history === void 0 ? void 0 : history.stop();
|
|
107
126
|
if (rescanTimer)
|
|
108
127
|
clearTimeout(rescanTimer);
|
|
109
128
|
await closeWithGrace(server.close(), SHUTDOWN_GRACE_MS, () => {
|
|
@@ -131,6 +150,7 @@ async function run(config, log = console, { beforeReady, } = {}) {
|
|
|
131
150
|
const server = await (0, server_1.startServer)(config, { serverAdapter, getConnectionState: getState });
|
|
132
151
|
const close = async () => {
|
|
133
152
|
closing = true;
|
|
153
|
+
history === null || history === void 0 ? void 0 : history.stop();
|
|
134
154
|
if (rescanTimer)
|
|
135
155
|
clearTimeout(rescanTimer);
|
|
136
156
|
await closeWithGrace(server.close(), SHUTDOWN_GRACE_MS, () => {
|
|
@@ -185,6 +205,7 @@ async function run(config, log = console, { beforeReady, } = {}) {
|
|
|
185
205
|
attempts: state.attempts,
|
|
186
206
|
};
|
|
187
207
|
scheduleRescan();
|
|
208
|
+
await startHistory();
|
|
188
209
|
if (everFailed)
|
|
189
210
|
log.log('Redis connected. The dashboard is live.');
|
|
190
211
|
if (deferIdleLog) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
package/dist/registry.js
CHANGED
|
@@ -7,6 +7,9 @@ class QueueRegistry {
|
|
|
7
7
|
this.deps = deps;
|
|
8
8
|
this.live = new Map();
|
|
9
9
|
}
|
|
10
|
+
adapters() {
|
|
11
|
+
return [...this.live.values()].map((handle) => handle.adapter);
|
|
12
|
+
}
|
|
10
13
|
async sync(discovered) {
|
|
11
14
|
// The board keys queues by bare name, so the same name under two prefixes would displace
|
|
12
15
|
// itself. First prefix wins.
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":";;;AAmBA,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AAE1E,MAAa,aAAa;IAGxB,YAA6B,IAAuB;QAAvB,SAAI,GAAJ,IAAI,CAAmB;QAFnC,SAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEA,CAAC;IAEjD,KAAK,CAAC,IAAI,CAAC,UAA6B;QAC7C,yFAAyF;QACzF,6BAA6B;QAC7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CACjB,aAAa,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,MAAM,gCAAgC;oBACpF,6BAA6B,CAChC,CAAC;gBACF,SAAS;YACX,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEjC,IAAI,MAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,SAAS,CACjB,aAAa,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,MAAM,MAAO,KAAe,CAAC,OAAO,EAAE,CACvF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,qDAAqD;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAElF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,wCAAwC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bull-board/cli",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.7.0",
|
|
4
4
|
"description": "Run the bull-board dashboard against a Redis instance from the command line.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bull",
|
|
@@ -38,8 +38,9 @@
|
|
|
38
38
|
"test": "jest"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@bull-board/api": "9.
|
|
42
|
-
"@bull-board/express": "9.
|
|
41
|
+
"@bull-board/api": "9.7.0",
|
|
42
|
+
"@bull-board/express": "9.7.0",
|
|
43
|
+
"@bull-board/metrics": "9.7.0",
|
|
43
44
|
"bull": "^4.16.5",
|
|
44
45
|
"bullmq": "^5.81.3",
|
|
45
46
|
"express": "^5.2.1",
|