4 Commits

Author SHA1 Message Date
e0dffad3f2 1.0.8 2017-03-04 12:24:34 +01:00
241880f2b0 add forkOptions 2017-03-04 12:24:32 +01:00
9d33a5df53 1.0.7 2017-03-04 12:05:57 +01:00
57ddf4c45d improve typings 2017-03-04 12:05:53 +01:00
4 changed files with 13 additions and 9 deletions

View File

@ -2,6 +2,7 @@ import * as childProcess from 'child_process';
export declare class ThreadSimple {
workerPath: string;
threadChildProcess: childProcess.ChildProcess;
constructor(filePathArg: string);
run(): Promise<{}>;
forkOptions: childProcess.ForkOptions;
constructor(filePathArg: string, forkOptionsArg?: childProcess.ForkOptions);
run(): Promise<childProcess.ChildProcess>;
}

View File

@ -5,8 +5,9 @@ const smartq = require("smartq");
const childProcess = require("child_process");
const smartipc_classes_thread_1 = require("./smartipc.classes.thread");
class ThreadSimple {
constructor(filePathArg) {
constructor(filePathArg, forkOptionsArg = {}) {
this.workerPath = filePathArg;
this.forkOptions = forkOptionsArg;
}
run() {
let done = smartq.defer();
@ -18,10 +19,10 @@ class ThreadSimple {
return this.workerPath;
}
})();
this.threadChildProcess = childProcess.fork(forkPath);
this.threadChildProcess = childProcess.fork(forkPath, [], this.forkOptions);
done.resolve(this.threadChildProcess);
return done.promise;
}
}
exports.ThreadSimple = ThreadSimple;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRpcGMuY2xhc3Nlcy50aHJlYWRzaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGlwYy5jbGFzc2VzLnRocmVhZHNpbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUE2QztBQUM3QyxpQ0FBZ0M7QUFDaEMsOENBQTZDO0FBRTdDLHVFQUEwRDtBQUUxRDtJQUdFLFlBQWEsV0FBbUI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUE7SUFDL0IsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDekIsSUFBSSxRQUFRLEdBQUcsQ0FBQztZQUNkLEVBQUUsQ0FBQyxDQUFDLHdDQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0NBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDM0QsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0NBQ0Y7QUFwQkQsb0NBb0JDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRpcGMuY2xhc3Nlcy50aHJlYWRzaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGlwYy5jbGFzc2VzLnRocmVhZHNpbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUE2QztBQUM3QyxpQ0FBZ0M7QUFDaEMsOENBQTZDO0FBRTdDLHVFQUEwRDtBQUUxRDtJQUlFLFlBQWEsV0FBbUIsRUFBRSxpQkFBMkMsRUFBRTtRQUM3RSxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQTtRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsR0FBRztRQUNELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQTZCLENBQUE7UUFDcEQsSUFBSSxRQUFRLEdBQUcsQ0FBQztZQUNkLEVBQUUsQ0FBQyxDQUFDLHdDQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0NBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDM0QsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0NBQ0Y7QUF0QkQsb0NBc0JDIn0=

View File

@ -1,6 +1,6 @@
{
"name": "smartipc",
"version": "1.0.6",
"version": "1.0.8",
"description": "smart subprocess handling",
"main": "dist/index.js",
"typings": "dist/index.d.ts",

View File

@ -7,12 +7,14 @@ import { workerBasePath } from './smartipc.classes.thread'
export class ThreadSimple {
workerPath: string
threadChildProcess: childProcess.ChildProcess
constructor (filePathArg: string) {
forkOptions: childProcess.ForkOptions
constructor (filePathArg: string, forkOptionsArg: childProcess.ForkOptions = {}) {
this.workerPath = filePathArg
this.forkOptions = forkOptionsArg
}
run () {
let done = smartq.defer()
let done = smartq.defer<childProcess.ChildProcess>()
let forkPath = (() => {
if (workerBasePath) {
return plugins.path.join(workerBasePath, this.workerPath)
@ -20,7 +22,7 @@ export class ThreadSimple {
return this.workerPath
}
})()
this.threadChildProcess = childProcess.fork(forkPath)
this.threadChildProcess = childProcess.fork(forkPath, [], this.forkOptions)
done.resolve(this.threadChildProcess)
return done.promise
}