dcp-worker 3.3.2 → 3.3.3-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/.eslintrc.js +1 -0
- package/LICENSE.md +1 -1
- package/bin/dcp-worker +1 -1
- package/lib/blessed-components/index.js +6 -0
- package/lib/blessed-components/log.js +1 -1
- package/lib/check-scheduler-version.js +6 -1
- package/lib/dashboard-tui.js +3 -0
- package/lib/default-ui-events.js +2 -0
- package/lib/remote-console.js +12 -2
- package/lib/utils.js +2 -1
- package/lib/worker-loggers/console.js +5 -0
- package/lib/worker-loggers/dashboard.js +6 -1
- package/lib/worker-loggers/event-log.js +1 -0
- package/lib/worker-loggers/syslog.js +7 -1
- package/package.json +3 -4
package/.eslintrc.js
CHANGED
package/LICENSE.md
CHANGED
package/bin/dcp-worker
CHANGED
|
@@ -137,7 +137,7 @@ function parseCliArgs()
|
|
|
137
137
|
hidden: true,
|
|
138
138
|
describe: 'If set, worker will prefer private groups but fall back on the public group if no preferred work is available',
|
|
139
139
|
type: 'boolean',
|
|
140
|
-
default:
|
|
140
|
+
default: undefined,
|
|
141
141
|
defaultDescription: undefined,
|
|
142
142
|
},
|
|
143
143
|
|
|
@@ -23,7 +23,7 @@ class Log extends Box {
|
|
|
23
23
|
|
|
24
24
|
log(...args) {
|
|
25
25
|
let str = args.reduce(
|
|
26
|
-
(s, arg) => s += `${typeof arg === 'string'? arg : JSON.stringify(arg, null, 2)}
|
|
26
|
+
(s, arg) => (s += `${typeof arg === 'string'? arg : JSON.stringify(arg, null, 2)} `),
|
|
27
27
|
'');
|
|
28
28
|
|
|
29
29
|
this.logLines.push(str);
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
*/
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Poll the scheduler's verion codes and verify this worker is supported
|
|
13
|
+
*
|
|
14
|
+
* @param {boolean} quiet Truthy to suppress the default log if scheduler is supported
|
|
15
|
+
*/
|
|
11
16
|
exports.check = function checkSchedulerVersion$$check(quiet)
|
|
12
17
|
{
|
|
13
18
|
const dcpConfig = require('dcp/dcp-config');
|
|
@@ -32,7 +37,7 @@ exports.check = function checkSchedulerVersion$$check(quiet)
|
|
|
32
37
|
let currentWorkerType = require('dcp/build').workerType || 'v4';
|
|
33
38
|
let currentWorkerVersion = require('dcp/build').workerVersion || '1.0.0';
|
|
34
39
|
|
|
35
|
-
if (parseInt(currentWorkerVersion) !== 1) {
|
|
40
|
+
if (parseInt(currentWorkerVersion, 10) !== 1) {
|
|
36
41
|
throw new Error('This version of dcp-client is not compatible with the standalone worker implemention in this dcp-worker package');
|
|
37
42
|
}
|
|
38
43
|
|
package/lib/dashboard-tui.js
CHANGED
|
@@ -32,6 +32,9 @@ const screenConf = {
|
|
|
32
32
|
output: usingDebugger ? new (require('events').EventEmitter) : undefined,
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
|
+
* Initialize the blessed dashboard
|
|
36
|
+
* @param {Worker} worker Reference to the DCP Worker
|
|
37
|
+
* @param {object} options Options which may affect behaviour. Not currently used.
|
|
35
38
|
*/
|
|
36
39
|
exports.init = function dashboard$$init(worker, options)
|
|
37
40
|
{
|
package/lib/default-ui-events.js
CHANGED
package/lib/remote-console.js
CHANGED
|
@@ -38,11 +38,12 @@ function daemonEval()
|
|
|
38
38
|
if (typeof dcpConfig === 'undefined')
|
|
39
39
|
dcpConfig = require('dcp/dcp-config');
|
|
40
40
|
}
|
|
41
|
-
catch(e)
|
|
41
|
+
catch(e)
|
|
42
|
+
{}
|
|
42
43
|
|
|
43
44
|
if (mainEval)
|
|
44
45
|
return mainEval(arguments[0]);
|
|
45
|
-
return eval(arguments[0]);
|
|
46
|
+
return eval(arguments[0]); /* eslint-disable-line no-eval */
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
function callbackTelnet(port, client, registry) {
|
|
@@ -59,6 +60,12 @@ exports.setMainEval = function removeConsole$$setMainEval()
|
|
|
59
60
|
mainEval = arguments[0];
|
|
60
61
|
}
|
|
61
62
|
|
|
63
|
+
/**
|
|
64
|
+
* Initialize the remote console
|
|
65
|
+
*
|
|
66
|
+
* @param {...object} commands Command definitions. See telnet-console documentation
|
|
67
|
+
* for details
|
|
68
|
+
*/
|
|
62
69
|
exports.init = function remoteConsole$$init(...commands)
|
|
63
70
|
{
|
|
64
71
|
try
|
|
@@ -101,6 +108,9 @@ exports.init = function remoteConsole$$init(...commands)
|
|
|
101
108
|
}
|
|
102
109
|
}
|
|
103
110
|
|
|
111
|
+
/**
|
|
112
|
+
* Re-intercept log calls. To be used after a logger may have added its own override.
|
|
113
|
+
*/
|
|
104
114
|
exports.reintercept = function remoteConsole$$reintercept()
|
|
105
115
|
{
|
|
106
116
|
if (typeof ci === 'undefined')
|
package/lib/utils.js
CHANGED
|
@@ -18,7 +18,8 @@ function slicesFetched (task)
|
|
|
18
18
|
if (typeof task === 'number') /* <= June 2023 Worker events: remove ~ Sep 2023 /wg */
|
|
19
19
|
return task;
|
|
20
20
|
if (typeof task === 'string') /* <= June 2023 Worker events: remove ~ Sep 2023 /wg */
|
|
21
|
-
return parseInt(task) || 0;
|
|
21
|
+
return parseInt(task, 10) || 0;
|
|
22
|
+
/* eslint-disable-next-line no-shadow */
|
|
22
23
|
let slicesFetched = 0;
|
|
23
24
|
for (const job in task.slices)
|
|
24
25
|
slicesFetched += task.slices[job];
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
|
|
9
9
|
const process = require('process');
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Initialize the console logger
|
|
13
|
+
*
|
|
14
|
+
* @param {object} options Any options affecting console behaviour. Not presently used.
|
|
15
|
+
*/
|
|
11
16
|
exports.init = function console$$init(options)
|
|
12
17
|
{
|
|
13
18
|
const myConsole = new (require('console').Console)(process);
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
const chalk = require('chalk');
|
|
12
12
|
const _console = new (require('console').Console)(process);
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Initialize the Blessed dashboard
|
|
16
|
+
*
|
|
17
|
+
* @param {object} options Options affecting dasboard behaviour
|
|
18
|
+
*/
|
|
14
19
|
exports.init = function dashboardLogger$$init(options)
|
|
15
20
|
{
|
|
16
21
|
function logWrapperFactory(logLevel)
|
|
@@ -34,7 +39,7 @@ exports.init = function dashboardLogger$$init(options)
|
|
|
34
39
|
for (let i in argv)
|
|
35
40
|
{
|
|
36
41
|
if (argv[i] instanceof Error || (typeof argv[i] === 'object' && argv[i][inspect]))
|
|
37
|
-
argv[i] = util.inspect(argv[i]);
|
|
42
|
+
argv[i] = require('node:util').inspect(argv[i]);
|
|
38
43
|
else if (logLevel === 'error' && typeof argv[i] === 'string')
|
|
39
44
|
argv[i] = chalk.red(argv[i]);
|
|
40
45
|
}
|
|
@@ -31,7 +31,7 @@ exports.init = function syslog$$init(cliArgs)
|
|
|
31
31
|
transport: cliArgs.syslogTransport, // tcp, udp, unix, tls
|
|
32
32
|
port: cliArgs.syslogPort,
|
|
33
33
|
facility: syslog.Facility[cliArgs.syslogFacility[0].toUpperCase() + cliArgs.syslogFacility.slice(1)],
|
|
34
|
-
}
|
|
34
|
+
};
|
|
35
35
|
|
|
36
36
|
syslogClient = syslog.createClient(cliArgs.syslogAddress, syslogOptions);
|
|
37
37
|
processName = require('path').basename(process.mainModule.filename || process.argv0);
|
|
@@ -39,6 +39,12 @@ exports.init = function syslog$$init(cliArgs)
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Emit a message to syslog
|
|
44
|
+
*
|
|
45
|
+
* @param {string} level Event level (info, debug, log, warning, error)
|
|
46
|
+
* @param {...any[]} argv Items to log
|
|
47
|
+
*/
|
|
42
48
|
function log(level, ...argv)
|
|
43
49
|
{
|
|
44
50
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dcp-worker",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.3-0",
|
|
4
4
|
"description": "JavaScript portion of DCP Workers for Node.js",
|
|
5
5
|
"main": "bin/dcp-worker",
|
|
6
6
|
"keywords": [
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
15
|
-
"url": "git@
|
|
15
|
+
"url": "git+ssh://git@gitlab.com/Distributed-Compute-Protocol/dcp-worker.git"
|
|
16
16
|
},
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"author": "Kings Distributed Systems",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"blessed": "^0.1.81",
|
|
41
41
|
"blessed-contrib": "^4.11.0",
|
|
42
42
|
"chalk": "^4.1.0",
|
|
43
|
-
"dcp-client": "4.4.
|
|
43
|
+
"dcp-client": "4.4.3-0",
|
|
44
44
|
"kvin": "^1.2.7",
|
|
45
45
|
"posix-getopt": "^1.2.1",
|
|
46
46
|
"semver": "^7.3.8",
|
|
@@ -53,7 +53,6 @@
|
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@distributive/eslint-config": "2.1.1",
|
|
55
55
|
"@distributive/eslint-plugin": "1.0.2",
|
|
56
|
-
"@kingsds/eslint-config": "^1.0.1",
|
|
57
56
|
"@trunkio/launcher": "1.2.7",
|
|
58
57
|
"eslint": "8.56.0"
|
|
59
58
|
},
|