@scrypted/server 0.123.23 → 0.123.25
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/cluster/cluster-setup.js +1 -1
- package/dist/cluster/cluster-setup.js.map +1 -1
- package/dist/plugin/plugin-device.js +1 -1
- package/dist/plugin/plugin-device.js.map +1 -1
- package/dist/plugin/plugin-host.d.ts +2 -0
- package/dist/plugin/plugin-host.js +93 -94
- package/dist/plugin/plugin-host.js.map +1 -1
- package/dist/plugin/plugin-lazy-remote.js +1 -0
- package/dist/plugin/plugin-lazy-remote.js.map +1 -1
- package/dist/plugin/plugin-remote-worker.js +3 -3
- package/dist/plugin/plugin-remote-worker.js.map +1 -1
- package/dist/plugin/runtime/{cluster-fork.worker.js → cluster-fork-worker.js} +2 -2
- package/dist/plugin/runtime/cluster-fork-worker.js.map +1 -0
- package/dist/rpc.d.ts +1 -0
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -1
- package/dist/scrypted-cluster-main.js +13 -5
- package/dist/scrypted-cluster-main.js.map +1 -1
- package/package.json +1 -1
- package/python/plugin_remote.py +2 -2
- package/src/cluster/cluster-setup.ts +1 -1
- package/src/plugin/plugin-device.ts +1 -1
- package/src/plugin/plugin-host.ts +102 -102
- package/src/plugin/plugin-lazy-remote.ts +1 -0
- package/src/plugin/plugin-remote-worker.ts +4 -4
- package/src/plugin/runtime/{cluster-fork.worker.ts → cluster-fork-worker.ts} +1 -1
- package/src/rpc.ts +2 -0
- package/src/scrypted-cluster-main.ts +16 -6
- package/dist/plugin/runtime/cluster-fork.worker.js.map +0 -1
- /package/dist/plugin/runtime/{cluster-fork.worker.d.ts → cluster-fork-worker.d.ts} +0 -0
package/dist/rpc.js
CHANGED
@@ -211,6 +211,7 @@ class RpcPeer {
|
|
211
211
|
constructorSerializerMap = new Map();
|
212
212
|
transportSafeArgumentTypes = RpcPeer.getDefaultTransportSafeArgumentTypes();
|
213
213
|
killed;
|
214
|
+
killedSafe;
|
214
215
|
killedDeferred;
|
215
216
|
tags = {};
|
216
217
|
yieldedAsyncIterators = new Set();
|
@@ -299,6 +300,7 @@ class RpcPeer {
|
|
299
300
|
this.killed = new Promise((resolve, reject) => {
|
300
301
|
this.killedDeferred = { resolve, reject, method: undefined };
|
301
302
|
}).catch(e => e.message || 'Unknown Error');
|
303
|
+
this.killedSafe = this.killed.then(() => { }).catch(() => { });
|
302
304
|
}
|
303
305
|
static isTransportSafe(value) {
|
304
306
|
if (!value)
|
package/dist/rpc.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ClusterForkResult = exports.PeerLiveness = void 0;
|
7
7
|
exports.startClusterClient = startClusterClient;
|
8
8
|
exports.createClusterServer = createClusterServer;
|
9
|
+
const os_1 = __importDefault(require("os"));
|
9
10
|
const events_1 = require("events");
|
10
11
|
const net_1 = __importDefault(require("net"));
|
11
12
|
const source_map_support_1 = require("source-map-support");
|
@@ -35,7 +36,7 @@ function peerLifecycle(serializer, peer, socket, type) {
|
|
35
36
|
socket.on('close', () => {
|
36
37
|
peer.kill(`cluster ${type} closed`);
|
37
38
|
});
|
38
|
-
peer.
|
39
|
+
peer.killedSafe.finally(() => {
|
39
40
|
socket.destroy();
|
40
41
|
});
|
41
42
|
}
|
@@ -124,7 +125,7 @@ function startClusterClient(mainFilename) {
|
|
124
125
|
const auth = {
|
125
126
|
address: socket.localAddress,
|
126
127
|
port: socket.localPort,
|
127
|
-
id:
|
128
|
+
id: process.env.SCRYPTED_CLUSTER_ID || os_1.default.hostname(),
|
128
129
|
proxyId: undefined,
|
129
130
|
sourceKey: undefined,
|
130
131
|
sha256: undefined,
|
@@ -165,17 +166,19 @@ function startClusterClient(mainFilename) {
|
|
165
166
|
runtimeWorker.on('error', e => {
|
166
167
|
threadPeer.kill('worker error ' + e);
|
167
168
|
});
|
168
|
-
threadPeer.
|
169
|
+
threadPeer.killedSafe.finally(() => {
|
169
170
|
runtimeWorker.kill();
|
170
171
|
});
|
171
172
|
peerLiveness.waitKilled().catch(() => { }).finally(() => {
|
172
173
|
threadPeer.kill('peer killed');
|
173
174
|
});
|
174
175
|
let getRemote;
|
176
|
+
let ping;
|
175
177
|
try {
|
176
178
|
const initializeCluster = await threadPeer.getParam('initializeCluster');
|
177
179
|
await initializeCluster({ clusterId, clusterSecret });
|
178
180
|
getRemote = await threadPeer.getParam('getRemote');
|
181
|
+
ping = await threadPeer.getParam('ping');
|
179
182
|
}
|
180
183
|
catch (e) {
|
181
184
|
threadPeer.kill('cluster fork failed');
|
@@ -196,6 +199,7 @@ function startClusterClient(mainFilename) {
|
|
196
199
|
stdout: readStream(runtimeWorker.stdout),
|
197
200
|
stderr: readStream(runtimeWorker.stderr),
|
198
201
|
getRemote,
|
202
|
+
ping,
|
199
203
|
};
|
200
204
|
};
|
201
205
|
const result = new ClusterForkResult(threadPeer, threadPeer.killed, clusterGetRemote);
|
@@ -206,9 +210,12 @@ function startClusterClient(mainFilename) {
|
|
206
210
|
}
|
207
211
|
catch (e) {
|
208
212
|
peer.kill(e.message);
|
209
|
-
socket.destroy();
|
210
213
|
console.warn('Cluster client error:', localAddress, localPort, e);
|
211
214
|
}
|
215
|
+
finally {
|
216
|
+
peer.kill();
|
217
|
+
socket.destroy();
|
218
|
+
}
|
212
219
|
}
|
213
220
|
})();
|
214
221
|
}
|
@@ -227,6 +234,7 @@ function createClusterServer(runtime, certificate) {
|
|
227
234
|
const sha256 = (0, cluster_hash_1.computeClusterObjectHash)(auth, runtime.clusterSecret);
|
228
235
|
if (sha256 !== auth.sha256)
|
229
236
|
throw new Error('cluster object hash mismatch');
|
237
|
+
peer.peerName = auth.id || `${socket.remoteAddress}`;
|
230
238
|
// the remote address may be ipv6 prefixed so use a fuzzy match.
|
231
239
|
// eg ::ffff:192.168.2.124
|
232
240
|
if (!process.env.SCRYPTED_DISABLE_CLUSTER_SERVER_TRUST) {
|
@@ -239,7 +247,7 @@ function createClusterServer(runtime, certificate) {
|
|
239
247
|
forks: new Set(),
|
240
248
|
};
|
241
249
|
runtime.clusterWorkers.add(worker);
|
242
|
-
peer.
|
250
|
+
peer.killedSafe.finally(() => {
|
243
251
|
runtime.clusterWorkers.delete(worker);
|
244
252
|
});
|
245
253
|
socket.on('close', () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scrypted-cluster-main.js","sourceRoot":"","sources":["../src/scrypted-cluster-main.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"scrypted-cluster-main.js","sourceRoot":"","sources":["../src/scrypted-cluster-main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/python/plugin_remote.py
CHANGED
@@ -920,8 +920,8 @@ async def plugin_async_main(
|
|
920
920
|
clusterSetup = ClusterSetup(loop, peer)
|
921
921
|
peer.params["initializeCluster"] = lambda options: clusterSetup.initializeCluster(options)
|
922
922
|
|
923
|
-
async def ping(time: int
|
924
|
-
|
923
|
+
async def ping(time: int):
|
924
|
+
return time
|
925
925
|
|
926
926
|
peer.params["ping"] = ping
|
927
927
|
|
@@ -345,7 +345,7 @@ export function setupCluster(peer: RpcPeer) {
|
|
345
345
|
peer.onProxySerialization = value => onProxySerialization(peer, value, undefined);
|
346
346
|
delete peer.params.initializeCluster;
|
347
347
|
|
348
|
-
peer.
|
348
|
+
peer.killedSafe.finally(() => clusterRpcServer.close());
|
349
349
|
clusterRpcServer.on('close', () => {
|
350
350
|
peer.kill('cluster server closed');
|
351
351
|
// close all clusterRpcServer clients
|
@@ -161,7 +161,7 @@ export class PluginDeviceProxyHandler implements PrimitiveProxyHandler<any> {
|
|
161
161
|
console.warn('no device was returned by the plugin', this.id);
|
162
162
|
}
|
163
163
|
catch (e) {
|
164
|
-
console.error('error
|
164
|
+
console.error('error occurred retrieving device from plugin', e);
|
165
165
|
}
|
166
166
|
|
167
167
|
const interfaces: ScryptedInterface[] = getState(pluginDevice, ScryptedInterfaceProperty.providedInterfaces) || [];
|
@@ -22,7 +22,7 @@ import { LazyRemote } from './plugin-lazy-remote';
|
|
22
22
|
import { setupPluginRemote } from './plugin-remote';
|
23
23
|
import { WebSocketConnection } from './plugin-remote-websocket';
|
24
24
|
import { ensurePluginVolume, getScryptedVolume } from './plugin-volume';
|
25
|
-
import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork
|
25
|
+
import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork-worker';
|
26
26
|
import { prepareZipSync } from './runtime/node-worker-common';
|
27
27
|
import { RuntimeWorker } from './runtime/runtime-worker';
|
28
28
|
|
@@ -170,7 +170,6 @@ export class PluginHost {
|
|
170
170
|
return;
|
171
171
|
}
|
172
172
|
|
173
|
-
|
174
173
|
const handler = this.scrypted.getDevice<EngineIOHandler>(pluginDevice._id);
|
175
174
|
|
176
175
|
// @ts-expect-error
|
@@ -199,8 +198,6 @@ export class PluginHost {
|
|
199
198
|
}
|
200
199
|
})
|
201
200
|
|
202
|
-
const self = this;
|
203
|
-
|
204
201
|
const { runtime } = this.packageJson.scrypted;
|
205
202
|
const mediaManager = runtime && runtime !== 'node'
|
206
203
|
? new MediaManagerHostImpl(pluginDeviceId, () => scrypted.stateManager.getSystemState(), console, id => scrypted.getDevice(id))
|
@@ -211,74 +208,120 @@ export class PluginHost {
|
|
211
208
|
logger.log('i', `loading ${this.pluginName}`);
|
212
209
|
logger.log('i', 'pid ' + this.worker?.pid);
|
213
210
|
|
214
|
-
const remotePromise = (
|
215
|
-
|
211
|
+
const remotePromise = this.prepareRemote(peerPromise, logger, pluginDebug);
|
212
|
+
const init = this.initializeRemote(remotePromise, logger, pluginDebug);
|
213
|
+
|
214
|
+
init.catch(e => {
|
215
|
+
console.error('plugin failed to load', e);
|
216
|
+
this.api.removeListeners();
|
217
|
+
});
|
218
|
+
|
219
|
+
this.module = init.then(({ module }) => module);
|
220
|
+
const remote = init.then(({ remote }) => remote);
|
221
|
+
this.remote = new LazyRemote(remotePromise, remote);
|
222
|
+
}
|
223
|
+
|
224
|
+
private async initializeRemote(remotePromise: Promise<PluginRemote>, logger: Logger, pluginDebug: PluginDebug) {
|
225
|
+
const remote = await remotePromise;
|
226
|
+
|
227
|
+
await Promise.all(
|
228
|
+
this.scrypted.findPluginDevices(this.pluginId)
|
229
|
+
.map(pluginDevice => remote.setNativeId(pluginDevice.nativeId, pluginDevice._id, pluginDevice.storage || {}))
|
230
|
+
);
|
231
|
+
|
232
|
+
const waitDebug = pluginDebug?.waitDebug;
|
233
|
+
if (waitDebug) {
|
234
|
+
console.info('waiting for debugger...');
|
216
235
|
try {
|
217
|
-
|
236
|
+
await waitDebug;
|
237
|
+
console.info('debugger attached.');
|
238
|
+
await sleep(1000);
|
218
239
|
}
|
219
240
|
catch (e) {
|
220
|
-
|
221
|
-
throw new RPCResultError(this.peer, 'cluster plugin start failed', e);
|
241
|
+
console.error('debugger failed', e);
|
222
242
|
}
|
223
|
-
|
224
|
-
})();
|
243
|
+
}
|
225
244
|
|
226
|
-
const
|
227
|
-
|
245
|
+
const fail = 'Plugin failed to load. View Console for more information.';
|
246
|
+
try {
|
247
|
+
const loadZipOptions: PluginRemoteLoadZipOptions = {
|
248
|
+
clusterId: this.scrypted.clusterId,
|
249
|
+
clusterSecret: this.scrypted.clusterSecret,
|
250
|
+
// debug flag can be used to affect path resolution for sourcemaps etc.
|
251
|
+
debug: !!pluginDebug,
|
252
|
+
zipHash: this.zipHash,
|
253
|
+
};
|
254
|
+
// original implementation sent the zipBuffer, sending the zipFile name now.
|
255
|
+
// can switch back for non-local plugins.
|
256
|
+
const modulePromise = remote.loadZip(this.packageJson,
|
257
|
+
new PluginZipAPI(async () => fs.promises.readFile(this.zipFile)),
|
258
|
+
loadZipOptions);
|
259
|
+
// allow garbage collection of the zip buffer
|
260
|
+
const module = await modulePromise;
|
261
|
+
logger.log('i', `loaded ${this.pluginName}`);
|
262
|
+
logger.clearAlert(fail)
|
263
|
+
return { module, remote };
|
264
|
+
}
|
265
|
+
catch (e) {
|
266
|
+
logger.log('a', fail);
|
267
|
+
logger.log('e', `plugin load error ${e}`);
|
268
|
+
console.error('plugin load error', e);
|
269
|
+
throw e;
|
270
|
+
}
|
271
|
+
}
|
228
272
|
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
273
|
+
private async prepareRemote(peerPromise: Promise<RpcPeer>, logger: Logger, pluginDebug: PluginDebug) {
|
274
|
+
let peer: RpcPeer;
|
275
|
+
try {
|
276
|
+
peer = await peerPromise;
|
277
|
+
}
|
278
|
+
catch (e) {
|
279
|
+
logger.log('e', 'plugin failed to start ' + e);
|
280
|
+
throw new RPCResultError(this.peer, 'cluster plugin start failed', e);
|
281
|
+
}
|
233
282
|
|
234
|
-
|
235
|
-
|
236
|
-
console.info('waiting for debugger...');
|
237
|
-
try {
|
238
|
-
await waitDebug;
|
239
|
-
console.info('debugger attached.');
|
240
|
-
await sleep(1000);
|
241
|
-
}
|
242
|
-
catch (e) {
|
243
|
-
console.error('debugger failed', e);
|
244
|
-
}
|
245
|
-
}
|
283
|
+
const startupTime = Date.now();
|
284
|
+
let lastPong: number;
|
246
285
|
|
247
|
-
|
286
|
+
(async () => {
|
248
287
|
try {
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
const modulePromise = remote.loadZip(this.packageJson,
|
259
|
-
new PluginZipAPI(async () => fs.promises.readFile(this.zipFile)),
|
260
|
-
loadZipOptions);
|
261
|
-
// allow garbage collection of the zip buffer
|
262
|
-
const module = await modulePromise;
|
263
|
-
logger.log('i', `loaded ${this.pluginName}`);
|
264
|
-
logger.clearAlert(fail)
|
265
|
-
return { module, remote };
|
288
|
+
let pingPromise: Promise<(time: number) => Promise<number>>
|
289
|
+
while (!this.killed) {
|
290
|
+
await sleep(30000);
|
291
|
+
if (this.killed)
|
292
|
+
return;
|
293
|
+
pingPromise ||= peer.getParam('ping');
|
294
|
+
const ping = await pingPromise;
|
295
|
+
lastPong = await ping(Date.now());
|
296
|
+
}
|
266
297
|
}
|
267
298
|
catch (e) {
|
268
|
-
logger.log('
|
269
|
-
|
270
|
-
console.error('plugin load error', e);
|
271
|
-
throw e;
|
299
|
+
logger.log('e', 'plugin ping failed. restarting.');
|
300
|
+
this.api.requestRestart();
|
272
301
|
}
|
273
302
|
})();
|
274
303
|
|
275
|
-
|
276
|
-
|
304
|
+
const healthInterval = setInterval(async () => {
|
305
|
+
const now = Date.now();
|
306
|
+
// plugin may take a while to install, so wait 10 minutes.
|
307
|
+
// after that, require 1 minute checkins.
|
308
|
+
if (!lastPong) {
|
309
|
+
if (now - startupTime > 10 * 60 * 1000) {
|
310
|
+
const logger = await this.api.getLogger(undefined);
|
311
|
+
logger.log('e', 'plugin failed to start in a timely manner. restarting.');
|
312
|
+
this.api.requestRestart();
|
313
|
+
}
|
314
|
+
return;
|
315
|
+
}
|
316
|
+
if (!pluginDebug && (lastPong + 60000 < now)) {
|
317
|
+
const logger = await this.api.getLogger(undefined);
|
318
|
+
logger.log('e', 'plugin is not responding to ping. restarting.');
|
319
|
+
this.api.requestRestart();
|
320
|
+
}
|
321
|
+
}, 60000);
|
322
|
+
peer.killedSafe.finally(() => clearInterval(healthInterval));
|
277
323
|
|
278
|
-
|
279
|
-
console.error('plugin failed to load', e);
|
280
|
-
this.api.removeListeners();
|
281
|
-
});
|
324
|
+
return setupPluginRemote(peer, this.api, this.pluginId, { serverVersion }, () => this.scrypted.stateManager.getSystemState());
|
282
325
|
}
|
283
326
|
|
284
327
|
startPluginHost(logger: Logger, env: any, pluginDebug: PluginDebug) {
|
@@ -347,9 +390,9 @@ export class PluginHost {
|
|
347
390
|
|
348
391
|
forkPeer.then(peer => {
|
349
392
|
const originalPeer = this.peer;
|
350
|
-
originalPeer.
|
393
|
+
originalPeer.killedSafe.finally(() => peer.kill());
|
351
394
|
this.peer = peer;
|
352
|
-
peer.
|
395
|
+
peer.killedSafe.finally(() => originalPeer.kill());
|
353
396
|
}).catch(() => {});
|
354
397
|
|
355
398
|
this.worker = runtimeWorker;
|
@@ -379,49 +422,6 @@ export class PluginHost {
|
|
379
422
|
disconnect();
|
380
423
|
});
|
381
424
|
|
382
|
-
const startupTime = Date.now();
|
383
|
-
let lastPong: number;
|
384
|
-
const pong = (time: number) => {
|
385
|
-
lastPong = time;
|
386
|
-
};
|
387
|
-
(async () => {
|
388
|
-
try {
|
389
|
-
let pingPromise: Promise<(time: number, p: typeof pong) => Promise<void>>
|
390
|
-
while (!this.killed) {
|
391
|
-
await sleep(30000);
|
392
|
-
if (this.killed)
|
393
|
-
return;
|
394
|
-
pingPromise ||= this.peer.getParam('ping');
|
395
|
-
const ping = await pingPromise;
|
396
|
-
await ping(Date.now(), pong);
|
397
|
-
}
|
398
|
-
}
|
399
|
-
catch (e) {
|
400
|
-
logger.log('e', 'plugin ping failed. restarting.');
|
401
|
-
this.api.requestRestart();
|
402
|
-
}
|
403
|
-
})();
|
404
|
-
|
405
|
-
const healthInterval = setInterval(async () => {
|
406
|
-
const now = Date.now();
|
407
|
-
// plugin may take a while to install, so wait 10 minutes.
|
408
|
-
// after that, require 1 minute checkins.
|
409
|
-
if (!lastPong) {
|
410
|
-
if (now - startupTime > 10 * 60 * 1000) {
|
411
|
-
const logger = await this.api.getLogger(undefined);
|
412
|
-
logger.log('e', 'plugin failed to start in a timely manner. restarting.');
|
413
|
-
this.api.requestRestart();
|
414
|
-
}
|
415
|
-
return;
|
416
|
-
}
|
417
|
-
if (!pluginDebug && (lastPong + 60000 < now)) {
|
418
|
-
const logger = await this.api.getLogger(undefined);
|
419
|
-
logger.log('e', 'plugin is not responding to ping. restarting.');
|
420
|
-
this.api.requestRestart();
|
421
|
-
}
|
422
|
-
}, 60000);
|
423
|
-
this.peer.killed.finally(() => clearInterval(healthInterval));
|
424
|
-
|
425
425
|
return peer;
|
426
426
|
}
|
427
427
|
|
@@ -15,6 +15,7 @@ import { PluginRemote, PluginRemoteLoadZipOptions, PluginZipAPI } from './plugin
|
|
15
15
|
this.remote = await remoteReadyPromise;
|
16
16
|
return this.remote;
|
17
17
|
})();
|
18
|
+
this.remoteReadyPromise.catch(() => {});
|
18
19
|
}
|
19
20
|
|
20
21
|
async loadZip(packageJson: any, zipAPI: PluginZipAPI, options?: PluginRemoteLoadZipOptions): Promise<any> {
|
@@ -15,7 +15,7 @@ import { attachPluginRemote, DeviceManagerImpl, setupPluginRemote } from './plug
|
|
15
15
|
import { createREPLServer } from './plugin-repl';
|
16
16
|
import { getPluginVolume } from './plugin-volume';
|
17
17
|
import { ChildProcessWorker } from './runtime/child-process-worker';
|
18
|
-
import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork
|
18
|
+
import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork-worker';
|
19
19
|
import { NodeThreadWorker } from './runtime/node-thread-worker';
|
20
20
|
import { prepareZip } from './runtime/node-worker-common';
|
21
21
|
import { getBuiltinRuntimeHosts } from './runtime/runtime-host';
|
@@ -32,7 +32,7 @@ export function startPluginRemote(mainFilename: string, pluginId: string, peerSe
|
|
32
32
|
const peer = new RpcPeer('unknown', 'host', peerSend);
|
33
33
|
|
34
34
|
const clusterPeerSetup = setupCluster(peer);
|
35
|
-
const { initializeCluster, connectRPCObject, mainThreadBrokerRegister
|
35
|
+
const { initializeCluster, connectRPCObject, mainThreadBrokerRegister, mainThreadPort } = clusterPeerSetup;
|
36
36
|
|
37
37
|
peer.params.initializeCluster = initializeCluster;
|
38
38
|
|
@@ -195,8 +195,8 @@ export function startPluginRemote(mainFilename: string, pluginId: string, peerSe
|
|
195
195
|
|
196
196
|
await installOptionalDependencies(getPluginConsole(), packageJson);
|
197
197
|
|
198
|
-
peer.params.ping = async (time: number
|
199
|
-
|
198
|
+
peer.params.ping = async (time: number) => {
|
199
|
+
return time;
|
200
200
|
};
|
201
201
|
|
202
202
|
const main = pluginReader(mainNodejs);
|
@@ -45,7 +45,7 @@ export function createClusterForkWorker(
|
|
45
45
|
// need to ensure this happens on next tick to prevent unhandled promise rejection.
|
46
46
|
// await sleep(0);
|
47
47
|
const forkComponent = await forkComponentPromise;
|
48
|
-
const peerLiveness = new PeerLiveness(
|
48
|
+
const peerLiveness = new PeerLiveness(waitKilled.promise);
|
49
49
|
const clusterForkResult = await forkComponent.fork(peerLiveness, options, packageJson, zipHash, getZip);
|
50
50
|
waitKilled.promise.finally(() => {
|
51
51
|
runtimeWorker.pid = undefined;
|
package/src/rpc.ts
CHANGED
@@ -300,6 +300,7 @@ export class RpcPeer {
|
|
300
300
|
constructorSerializerMap = new Map<any, string>();
|
301
301
|
transportSafeArgumentTypes = RpcPeer.getDefaultTransportSafeArgumentTypes();
|
302
302
|
killed: Promise<string>;
|
303
|
+
killedSafe: Promise<void>;
|
303
304
|
killedDeferred: Deferred;
|
304
305
|
tags: any = {};
|
305
306
|
yieldedAsyncIterators = new Set<AsyncGenerator>();
|
@@ -395,6 +396,7 @@ export class RpcPeer {
|
|
395
396
|
this.killed = new Promise<string>((resolve, reject) => {
|
396
397
|
this.killedDeferred = { resolve, reject, method: undefined };
|
397
398
|
}).catch(e => e.message || 'Unknown Error');
|
399
|
+
this.killedSafe = this.killed.then(() => {}).catch(() => { });
|
398
400
|
}
|
399
401
|
|
400
402
|
static isTransportSafe(value: any) {
|