Natural Performance Manager

    egg-worker-thread

    1.0.2 • Public • Published

    egg-worker-thread

    NPM version Known Vulnerabilities npm download

    More convenient to use worker thread for egg, using the tarn.js maintain thread pool

    Install

    $ npm i egg-worker-thread --save

    Usage

    // {app_root}/config/plugin.js
    exports.workerThread = {
      enable: true,
      package: 'egg-worker-thread',
    };

    Configuration

    reference tarn.js config

    // {app_root}/config/config.default.js
    exports.workerThread = {
      min: 0,
      max: 5,
      // acquire promises are rejected after this many milliseconds
      // if a resource cannot be acquired
      acquireTimeoutMillis: 30000,
     
      // create operations are cancelled after this many milliseconds
      // if a resource cannot be acquired
      createTimeoutMillis: 30000,
     
      // destroy operations are awaited for at most this many milliseconds
      // new resources will be created after this timeout
      destroyTimeoutMillis: 5000,
     
      // free resouces are destroyed after this many milliseconds
      idleTimeoutMillis: 30000,
     
      // how often to check for idle resources to destroy
      reapIntervalMillis: 1000,
     
      // how long to idle after failed create before trying again
      createRetryIntervalMillis: 200,
     
      // If true, when a create fails, the first pending acquire is
      // rejected with the error. If this is false (the default) then
      // create is retried until acquireTimeoutMillis milliseconds has
      // passed.
      propagateCreateError: false,
    };

    see config/config.default.js for more detail.

    Example

    Attention: The scope of the method is isolated for package and variable

    const _ = require('lodash')
    const data = 1;
     
    // The parameter need to be object for more arguments
    async function test({ param1, param2 }) {
      const _ = require('lodash') // require again
      console.error(data); // undefined
     
      return data;
    }
     
    await app.workerThread.createWorkerThread(test,{ param1, param2 })

    License

    MIT

    Install

    npm i egg-worker-thread

    DownloadsWeekly Downloads

    3

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    9.46 kB

    Total Files

    7

    Last publish

    Collaborators

    • wmtcore