@scrypted/server 0.123.36 → 0.123.37
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/plugin/plugin-host.d.ts +1 -1
- package/dist/plugin/plugin-host.js +17 -1
- package/dist/plugin/plugin-host.js.map +1 -1
- package/dist/plugin/runtime/cluster-fork-worker.js +11 -21
- package/dist/plugin/runtime/cluster-fork-worker.js.map +1 -1
- package/dist/services/cluster-fork.js +5 -0
- package/dist/services/cluster-fork.js.map +1 -1
- package/package.json +1 -1
- package/python/plugin_remote.py +8 -12
- package/src/plugin/plugin-host.ts +19 -3
- package/src/plugin/runtime/cluster-fork-worker.ts +15 -25
- package/src/services/cluster-fork.ts +9 -4
@@ -2,7 +2,7 @@ import { Device } from '@scrypted/types';
|
|
2
2
|
import WebSocket from 'ws';
|
3
3
|
import { Plugin } from '../db-types';
|
4
4
|
import { IOServer, IOServerSocket } from '../io';
|
5
|
-
import { Logger } from '../logger';
|
5
|
+
import type { Logger } from '../logger';
|
6
6
|
import { RpcPeer } from '../rpc';
|
7
7
|
import { ScryptedRuntime } from '../runtime';
|
8
8
|
import { AccessControls } from './acl';
|
@@ -47,6 +47,7 @@ const plugin_remote_websocket_1 = require("./plugin-remote-websocket");
|
|
47
47
|
const plugin_volume_1 = require("./plugin-volume");
|
48
48
|
const cluster_fork_worker_1 = require("./runtime/cluster-fork-worker");
|
49
49
|
const node_worker_common_1 = require("./runtime/node-worker-common");
|
50
|
+
const stream_1 = require("stream");
|
50
51
|
const serverVersion = require('../../package.json').version;
|
51
52
|
class UnsupportedRuntimeError extends Error {
|
52
53
|
constructor(runtime) {
|
@@ -376,7 +377,22 @@ class PluginHost {
|
|
376
377
|
let consoleHeader = `${os_1.default.platform()} ${os_1.default.arch()} ${os_1.default.version()}\nserver version: ${serverVersion}\nplugin version: ${this.pluginId} ${this.packageJson.version}\n`;
|
377
378
|
if (process.env.SCRYPTED_DOCKER_FLAVOR)
|
378
379
|
consoleHeader += `${process.env.SCRYPTED_DOCKER_FLAVOR}\n`;
|
379
|
-
|
380
|
+
const ptout = new stream_1.PassThrough();
|
381
|
+
const pterr = new stream_1.PassThrough();
|
382
|
+
this.worker.stdout.pipe(ptout);
|
383
|
+
this.worker.stderr.pipe(pterr);
|
384
|
+
this.consoleServer = (0, plugin_console_1.createConsoleServer)(ptout, pterr, consoleHeader);
|
385
|
+
logger.on('log', (entry) => {
|
386
|
+
switch (entry.level) {
|
387
|
+
case 'e':
|
388
|
+
case 'w':
|
389
|
+
pterr.write(`${entry.title}: ${entry.message}\n`);
|
390
|
+
break;
|
391
|
+
default:
|
392
|
+
ptout.write(`${entry.title}: ${entry.message}\n`);
|
393
|
+
break;
|
394
|
+
}
|
395
|
+
});
|
380
396
|
const disconnect = () => {
|
381
397
|
connected = false;
|
382
398
|
this.peer.kill('plugin disconnected');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../src/plugin/plugin-host.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../src/plugin/plugin-host.ts"],"names":[],"mappings":"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"}
|
@@ -41,31 +41,21 @@ function createClusterForkWorker(runtimeWorkerOptions, options, forkComponentPro
|
|
41
41
|
clusterWorkerId.catch(() => { });
|
42
42
|
const forkPeer = (async () => {
|
43
43
|
const clusterForkResult = await clusterForkResultPromise;
|
44
|
-
waitKilled.promise.finally(() => {
|
45
|
-
runtimeWorker.pid = undefined;
|
46
|
-
clusterForkResult.kill().catch(() => { });
|
47
|
-
});
|
48
44
|
clusterForkResult.waitKilled().catch(() => { })
|
49
45
|
.finally(() => {
|
50
46
|
waitKilled.resolve();
|
51
47
|
});
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
return peer;
|
64
|
-
}
|
65
|
-
catch (e) {
|
66
|
-
clusterForkResult.kill().catch(() => { });
|
67
|
-
throw e;
|
68
|
-
}
|
48
|
+
const clusterGetRemote = await connectRPCObject(await clusterForkResult.getResult());
|
49
|
+
const { stdout: stdoutGen, stderr: stderrGen, getRemote } = await clusterGetRemote();
|
50
|
+
(0, plugin_console_1.writeWorkerGenerator)(stdoutGen, stdout).catch(() => { });
|
51
|
+
(0, plugin_console_1.writeWorkerGenerator)(stderrGen, stderr).catch(() => { });
|
52
|
+
const directGetRemote = await connectRPCObject(getRemote);
|
53
|
+
if (directGetRemote === getRemote)
|
54
|
+
throw new Error('cluster fork peer not direct connected');
|
55
|
+
const peer = directGetRemote[rpc_1.RpcPeer.PROPERTY_PROXY_PEER];
|
56
|
+
if (!peer)
|
57
|
+
throw new Error('cluster fork peer undefined?');
|
58
|
+
return peer;
|
69
59
|
})();
|
70
60
|
forkPeer.catch(() => {
|
71
61
|
waitKilled.resolve();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cluster-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/cluster-fork-worker.ts"],"names":[],"mappings":";;AASA,
|
1
|
+
{"version":3,"file":"cluster-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/cluster-fork-worker.ts"],"names":[],"mappings":"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"}
|
@@ -70,7 +70,12 @@ class ClusterForkService {
|
|
70
70
|
const fork = await worker.fork;
|
71
71
|
const forkResultPromise = fork(options.runtime, runtimeWorkerOptions, peerLiveness, getZip);
|
72
72
|
options.id ||= this.runtime.findPluginDevice(runtimeWorkerOptions.packageJson.name)?._id;
|
73
|
+
// the server is responsible for killing the forked process when the requestor is killed.
|
74
|
+
// minimizes lifecycle management duplication in python and node.
|
73
75
|
worker.forks.add(options);
|
76
|
+
peerLiveness.waitKilled().catch(() => { }).finally(() => {
|
77
|
+
forkResultPromise.then(forkResult => forkResult.kill().catch(() => { }));
|
78
|
+
});
|
74
79
|
forkResultPromise.then(forkResult => {
|
75
80
|
forkResult.clusterWorkerId = worker.id;
|
76
81
|
forkResult.waitKilled().catch(() => { }).finally(() => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cluster-fork.js","sourceRoot":"","sources":["../../src/services/cluster-fork.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"cluster-fork.js","sourceRoot":"","sources":["../../src/services/cluster-fork.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/python/plugin_remote.py
CHANGED
@@ -898,17 +898,6 @@ class PluginRemote:
|
|
898
898
|
lambda: zipAPI.getZip(),
|
899
899
|
)
|
900
900
|
|
901
|
-
async def waitPeerLiveness():
|
902
|
-
try:
|
903
|
-
await peerLiveness.waitKilled()
|
904
|
-
except:
|
905
|
-
try:
|
906
|
-
await clusterForkResult.kill()
|
907
|
-
except:
|
908
|
-
pass
|
909
|
-
|
910
|
-
asyncio.ensure_future(waitPeerLiveness(), loop=self.loop)
|
911
|
-
|
912
901
|
async def waitClusterForkKilled():
|
913
902
|
try:
|
914
903
|
await clusterForkResult.waitKilled()
|
@@ -944,9 +933,16 @@ class PluginRemote:
|
|
944
933
|
directGetRemote, rpc.RpcPeer.PROPERTY_PROXY_PEER
|
945
934
|
)
|
946
935
|
return await finishFork(forkPeer)
|
936
|
+
|
937
|
+
async def getClusterForkWrapped():
|
938
|
+
try:
|
939
|
+
return await getClusterFork()
|
940
|
+
except:
|
941
|
+
safe_set_result(peerLiveness.killed, None)
|
942
|
+
raise
|
947
943
|
|
948
944
|
pluginFork = PluginFork()
|
949
|
-
pluginFork.result = asyncio.create_task(
|
945
|
+
pluginFork.result = asyncio.create_task(getClusterForkWrapped())
|
950
946
|
|
951
947
|
async def waitKilled():
|
952
948
|
await peerLiveness.killed
|
@@ -8,7 +8,7 @@ import { utilizesClusterForkWorker } from '../cluster/cluster-labels';
|
|
8
8
|
import { setupCluster } from '../cluster/cluster-setup';
|
9
9
|
import { Plugin } from '../db-types';
|
10
10
|
import { IOServer, IOServerSocket } from '../io';
|
11
|
-
import { Logger } from '../logger';
|
11
|
+
import type { LogEntry, Logger } from '../logger';
|
12
12
|
import { RpcPeer, RPCResultError } from '../rpc';
|
13
13
|
import { createRpcSerializer } from '../rpc-serializer';
|
14
14
|
import { ScryptedRuntime } from '../runtime';
|
@@ -26,6 +26,7 @@ import { ensurePluginVolume, getScryptedVolume } from './plugin-volume';
|
|
26
26
|
import { createClusterForkWorker } from './runtime/cluster-fork-worker';
|
27
27
|
import { prepareZipSync } from './runtime/node-worker-common';
|
28
28
|
import type { RuntimeWorker, RuntimeWorkerOptions } from './runtime/runtime-worker';
|
29
|
+
import { PassThrough } from 'stream';
|
29
30
|
|
30
31
|
const serverVersion = require('../../package.json').version;
|
31
32
|
|
@@ -409,7 +410,7 @@ export class PluginHost {
|
|
409
410
|
console.log('cluster worker id', clusterWorkerId);
|
410
411
|
}).catch(() => {
|
411
412
|
console.warn("cluster worker id failed", clusterWorkerId);
|
412
|
-
|
413
|
+
});
|
413
414
|
|
414
415
|
this.worker = runtimeWorker;
|
415
416
|
peer = forkPeer;
|
@@ -418,7 +419,22 @@ export class PluginHost {
|
|
418
419
|
let consoleHeader = `${os.platform()} ${os.arch()} ${os.version()}\nserver version: ${serverVersion}\nplugin version: ${this.pluginId} ${this.packageJson.version}\n`;
|
419
420
|
if (process.env.SCRYPTED_DOCKER_FLAVOR)
|
420
421
|
consoleHeader += `${process.env.SCRYPTED_DOCKER_FLAVOR}\n`;
|
421
|
-
|
422
|
+
const ptout = new PassThrough();
|
423
|
+
const pterr = new PassThrough();
|
424
|
+
this.worker.stdout.pipe(ptout);
|
425
|
+
this.worker.stderr.pipe(pterr);
|
426
|
+
this.consoleServer = createConsoleServer(ptout, pterr, consoleHeader);
|
427
|
+
logger.on('log', (entry: LogEntry) => {
|
428
|
+
switch (entry.level) {
|
429
|
+
case 'e':
|
430
|
+
case 'w':
|
431
|
+
pterr.write(`${entry.title}: ${entry.message}\n`);
|
432
|
+
break;
|
433
|
+
default:
|
434
|
+
ptout.write(`${entry.title}: ${entry.message}\n`);
|
435
|
+
break;
|
436
|
+
}
|
437
|
+
});
|
422
438
|
|
423
439
|
const disconnect = () => {
|
424
440
|
connected = false;
|
@@ -56,38 +56,28 @@ export function createClusterForkWorker(
|
|
56
56
|
|
57
57
|
const forkPeer = (async () => {
|
58
58
|
const clusterForkResult = await clusterForkResultPromise;
|
59
|
-
waitKilled.promise.finally(() => {
|
60
|
-
runtimeWorker.pid = undefined;
|
61
|
-
clusterForkResult.kill().catch(() => { });
|
62
|
-
});
|
63
59
|
clusterForkResult.waitKilled().catch(() => { })
|
64
60
|
.finally(() => {
|
65
61
|
waitKilled.resolve();
|
66
62
|
});
|
67
63
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
} = await clusterGetRemote();
|
64
|
+
const clusterGetRemote = await connectRPCObject(await clusterForkResult.getResult());
|
65
|
+
const {
|
66
|
+
stdout: stdoutGen,
|
67
|
+
stderr: stderrGen,
|
68
|
+
getRemote
|
69
|
+
} = await clusterGetRemote();
|
75
70
|
|
76
|
-
|
77
|
-
|
71
|
+
writeWorkerGenerator(stdoutGen, stdout).catch(() => { });
|
72
|
+
writeWorkerGenerator(stderrGen, stderr).catch(() => { });
|
78
73
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
}
|
87
|
-
catch (e) {
|
88
|
-
clusterForkResult.kill().catch(() => {});
|
89
|
-
throw e;
|
90
|
-
}
|
74
|
+
const directGetRemote = await connectRPCObject(getRemote);
|
75
|
+
if (directGetRemote === getRemote)
|
76
|
+
throw new Error('cluster fork peer not direct connected');
|
77
|
+
const peer: RpcPeer = directGetRemote[RpcPeer.PROPERTY_PROXY_PEER];
|
78
|
+
if (!peer)
|
79
|
+
throw new Error('cluster fork peer undefined?');
|
80
|
+
return peer;
|
91
81
|
})();
|
92
82
|
|
93
83
|
forkPeer.catch(() => {
|
@@ -77,16 +77,21 @@ export class ClusterForkService {
|
|
77
77
|
|
78
78
|
worker.fork ||= worker.peer.getParam('fork');
|
79
79
|
const fork: ClusterForkParam = await worker.fork;
|
80
|
-
const forkResultPromise = fork(options.runtime, runtimeWorkerOptions, peerLiveness, getZip);
|
81
80
|
|
81
|
+
const forkResultPromise = fork(options.runtime, runtimeWorkerOptions, peerLiveness, getZip);
|
82
82
|
options.id ||= this.runtime.findPluginDevice(runtimeWorkerOptions.packageJson.name)?._id;
|
83
|
-
worker.forks.add(options);
|
84
83
|
|
84
|
+
// the server is responsible for killing the forked process when the requestor is killed.
|
85
|
+
// minimizes lifecycle management duplication in python and node.
|
86
|
+
worker.forks.add(options);
|
87
|
+
peerLiveness.waitKilled().catch(() => {}).finally(() => {
|
88
|
+
forkResultPromise.then(forkResult => forkResult.kill().catch(() => {}));
|
89
|
+
});
|
85
90
|
forkResultPromise.then(forkResult => {
|
86
91
|
forkResult.clusterWorkerId = worker.id;
|
87
|
-
forkResult.waitKilled().catch(() => {
|
92
|
+
forkResult.waitKilled().catch(() => {}).finally(() => {
|
88
93
|
worker.forks.delete(options);
|
89
|
-
})
|
94
|
+
});
|
90
95
|
});
|
91
96
|
|
92
97
|
const ret: ClusterForkResultInterface = new WrappedForkResult(worker.id, forkResultPromise);
|