How to use the workerpool.worker function in workerpool

To help you get started, we’ve selected a few workerpool examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github teppeis / duck / src / dependency-parser-worker.ts View on Github external
return {
    closureSymbols: dep.closureSymbols,
    path: dep.path,
    type: dep.type,
    language: dep.language,
    // Don't copy `import.from` to avoid circular dependency in JSON.stringify.
    imports: dep.imports.map(i => ({
      symOrPath: i.symOrPath,
      // Convert getter methods to properties to transfer with postMessage() to workers.
      isGoogRequire: i.isGoogRequire(),
      isEs6Import: i.isEs6Import(),
    })),
  };
}

workerpool.worker({ parseDependency: parse });
github FormidableLabs / inspectpack / lib / daemon / worker.js View on Github external
const cacheCls = cacheOpts.cls || Cache.NoopCache.name;
delete cacheOpts.cls;
const cache = Cache[cacheCls].create(cacheOpts);

// Create worker methods for each corresponding action.
// The generated methods look like `sizes(...).then(...)`
const wrapMethod = (action, compressor) => (args) =>
  new Promise((resolve, reject) =>
    actions(action)(
      Object.assign({}, args, { compressor }),
      (err, result) => err ? reject(err) : resolve(result)
    ));

// Create each action method, injecting a compressor
// instance for each one.
workerpool.worker(
  Object.keys(actions.ACTIONS).reduce(
    (acc, action) => Object.assign({}, acc, {
      [action]: wrapMethod(
        action,
        Compressor.create({ cache })
      )
    }),
    {}
  )
);

workerpool

Offload tasks to a pool of workers on node.js and in the browser

Apache-2.0
Latest version published 25 days ago

Package Health Score

89 / 100
Full package analysis