@lakutata/core 1.0.43 → 1.0.44
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.
|
@@ -37,7 +37,8 @@ function ProcessProxy(processClassConstructor, callback) {
|
|
|
37
37
|
tmpBaseRuntimeContainerFilename,
|
|
38
38
|
require.resolve(path_1.default.resolve(__dirname, './bridges/ProcessBridge'))
|
|
39
39
|
], {
|
|
40
|
-
execArgv: (0, GenerateExecArgv_1.GenerateExecArgv)(classPath)
|
|
40
|
+
execArgv: (0, GenerateExecArgv_1.GenerateExecArgv)(classPath),
|
|
41
|
+
serialization: 'advanced'
|
|
41
42
|
});
|
|
42
43
|
(0, UniParentBridgeHandler_1.UniParentBridgeHandler)(new ProcessBridge_1.ProcessBridge(childProcess), className, classPath, processClassConstructor, callback);
|
|
43
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../src/lib/multipleRunner/lib/Process.ts"],"names":[],"mappings":";;;;;;AAAA,4BAAyB;AAEzB,iDAAgD;AAChD,gDAAuB;AACvB,+DAAyD;AACzD,2DAAqD;AAErD,2EAAqE;AAErE,mEAIsC;AACtC,4CAAmB;AACnB,4CAAmB;AAEZ,KAAK,UAAU,OAAO,CAAyB,uBAAmD;
|
|
1
|
+
{"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../src/lib/multipleRunner/lib/Process.ts"],"names":[],"mappings":";;;;;;AAAA,4BAAyB;AAEzB,iDAAgD;AAChD,gDAAuB;AACvB,+DAAyD;AACzD,2DAAqD;AAErD,2EAAqE;AAErE,mEAIsC;AACtC,4CAAmB;AACnB,4CAAmB;AAEZ,KAAK,UAAU,OAAO,CAAyB,uBAAmD;IACxG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,YAAY,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC9D,IAAI,UAAU,EAAE;gBACf,MAAM,CAAC,UAAU,CAAC,CAAA;aAClB;iBAAM;gBACN,OAAO,CAAiB,QAAQ,CAAC,CAAA;aACjC;QACF,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC;AAVD,0BAUC;AAED,SAAS,YAAY,CAAyB,uBAAmD,EAAE,QAAkD;IACpJ,MAAM,SAAS,GAAW,uBAAuB,CAAC,UAAU,CAAA;IAC5D,MAAM,SAAS,GAAW,uBAAuB,CAAC,UAAU,CAAA;IAC5D,MAAM,kCAAkC,GAAW,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC3G,MAAM,+BAA+B,GAAW,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACzG,YAAE,CAAC,aAAa,CAAC,+BAA+B,EAAE,iCAAe,CAAC,YAAY,CAAC,6CAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvH,YAAE,CAAC,aAAa,CAAC,kCAAkC,EAAE,iCAAe,CAAC,YAAY,CAAC,gDAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7H,MAAM,YAAY,GAAiB,IAAA,oBAAI,EAAC,kCAAkC,EAAE;QAC3E,+BAA+B;QAC/B,OAAO,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;KACnE,EAAE;QACF,QAAQ,EAAE,IAAA,mCAAgB,EAAC,SAAS,CAAC;QACrC,aAAa,EAAE,UAAU;KACzB,CAAC,CAAA;IACF,IAAA,+CAAsB,EAAC,IAAI,6BAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAA;AACjH,CAAC"}
|
package/package.json
CHANGED
|
@@ -8,37 +8,38 @@ import {ProcessClass} from './cores/ProcessClass'
|
|
|
8
8
|
import {UniParentBridgeHandler} from './cores/UniParentBridgeHandler'
|
|
9
9
|
import {ProxyClass} from '../definitions/interfaces/ProxyClass'
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
BASE_RUNTIME_CONTAINER_FILE,
|
|
12
|
+
ContainerVolume,
|
|
13
|
+
PROCESS_RUNTIME_CONTAINER_FILE
|
|
14
14
|
} from '../containers/ContainerVolume'
|
|
15
15
|
import fs from 'fs'
|
|
16
16
|
import os from 'os'
|
|
17
17
|
|
|
18
18
|
export async function Process<T extends ProcessClass>(processClassConstructor: ProcessClassConstructor<T>): Promise<T & ProxyClass> {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
ProcessProxy(processClassConstructor, (setupError, instance) => {
|
|
21
|
+
if (setupError) {
|
|
22
|
+
reject(setupError)
|
|
23
|
+
} else {
|
|
24
|
+
resolve(<T & ProxyClass>instance)
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
})
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
function ProcessProxy<T extends ProcessClass>(processClassConstructor: ProcessClassConstructor<T>, callback: (setupError: Error, instance: T) => void) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
const className: string = processClassConstructor.CLASS_NAME
|
|
32
|
+
const classPath: string = processClassConstructor.CLASS_PATH
|
|
33
|
+
const tmpProcessRuntimeContainerFilename: string = path.resolve(os.tmpdir(), `./PRC_TMP_${Date.now()}.tmp`)
|
|
34
|
+
const tmpBaseRuntimeContainerFilename: string = path.resolve(os.tmpdir(), `./PBRC_TMP_${Date.now()}.tmp`)
|
|
35
|
+
fs.writeFileSync(tmpBaseRuntimeContainerFilename, ContainerVolume.readFileSync(BASE_RUNTIME_CONTAINER_FILE).toString())
|
|
36
|
+
fs.writeFileSync(tmpProcessRuntimeContainerFilename, ContainerVolume.readFileSync(PROCESS_RUNTIME_CONTAINER_FILE).toString())
|
|
37
|
+
const childProcess: ChildProcess = fork(tmpProcessRuntimeContainerFilename, [
|
|
38
|
+
tmpBaseRuntimeContainerFilename,
|
|
39
|
+
require.resolve(path.resolve(__dirname, './bridges/ProcessBridge'))
|
|
40
|
+
], {
|
|
41
|
+
execArgv: GenerateExecArgv(classPath),
|
|
42
|
+
serialization: 'advanced'
|
|
43
|
+
})
|
|
44
|
+
UniParentBridgeHandler(new ProcessBridge(childProcess), className, classPath, processClassConstructor, callback)
|
|
44
45
|
}
|