Namespace, Primitive, Method

    @2o3t/process-manager

    0.0.2 • Public • Published

    @2o3t/process-manager

    Process manager for Nodejs.

    Ideas from https://github.com/Microsoft/vscode.

    Installation

    npm install @2o3t/process-manager

    or

    yarn add @2o3t/process-manager

    Usage

    Client (main process):

    const PM = require('@2o3t/process-manager');
    const client = new PM.Client(__dirname + '/sub-processes.js');
    const channel = client.getChannel('channelName');
    channel.call('info', {
        // something
    }).then(data => {
        console.log('data', data);
    });
    channel.listen('ccc')(aa => {
        console.log('listen..', aa);
    });

    Server (sub process):

    const PM = require('@2o3t/process-manager');
    const server = new PM.Server();
    const channel = new PM.ServerChannel({
        info(arg) {
            console.log('arg: ', arg);
            return Promise.resolve(server.info);
        },
        ccc(emit) {
            emit('100w');
            emit('101w');
            // server.dispose();
            emit('102w');
            emit('103w');
            emit('104w');
        },
    });
    console.log('server ok');
    server.registerChannel('channelName', channel);

    Options

    Client options in paramters

    modulePath: file path of sub process

    options: Object.

    key type desc
    serverName string A descriptive name for the server this connection is to. Used in logging.
    timeout? number Time in millies before killing the ipc process. The next request after killing will start it again.
    args? string[] Arguments to the module to execute.
    env? any Environment key-value pairs to be passed to the process that gets spawned for the ipc.
    debug? number Allows to assign a debug port for debugging the application executed.
    debugBrk? number Allows to assign a debug port for debugging the application and breaking it on the first line.
    freshExecArgv? boolean See https://github.com/Microsoft/vscode/issues/27665
    * Allows to pass in fresh execArgv to the forked process such that it doesn't inherit them from process.execArgv.
    * e.g. Launching the extension host process with --inspect-brk=xxx and then forking a process from the extension host results in the forked process inheriting --inspect-brk=xxx.
    useQueue? boolean Enables our createQueuedSender helper for this Client. Uses a queue when the internal Node.js queue is full of messages - see notes on that method.

    Server options in paramters

    options: Object.

    key type desc
    timeoutDelay? number They will timeout after timeoutDelay.

    License

    MIT

    Install

    npm i @2o3t/process-manager

    DownloadsWeekly Downloads

    8

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    33.9 kB

    Total Files

    16

    Last publish

    Collaborators

    • avatar