diff --git a/lib/worker-pool/index.js b/lib/worker-pool/index.js index d17088b..ab2c185 100644 --- a/lib/worker-pool/index.js +++ b/lib/worker-pool/index.js @@ -8,10 +8,14 @@ module.exports = function(options) { var workers = farm(options, require.resolve('./worker')); - return function(fn) { + return function(fn, optns) { var code = fn.toString(); + var params = JSON.stringify({ + options: optns, + fn: code + }); return function(cb) { - workers(code, cb); + workers(params, cb); }; }; }; diff --git a/lib/worker-pool/worker.js b/lib/worker-pool/worker.js index 5fe0ae5..3d76f38 100644 --- a/lib/worker-pool/worker.js +++ b/lib/worker-pool/worker.js @@ -13,7 +13,9 @@ function parseFn(str) { return cache[str]; } -module.exports = function(code, cb) { - var fn = parseFn(code); +module.exports = function(optns, cb) { + optns = JSON.parse(optns); + var code = optns.fn; + var fn = parseFn(code).bind(optns.options); asyncDone(fn, cb); }; diff --git a/package.json b/package.json index 7dc59d0..4df6dd6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "spawn-task-experiment", - "version": "0.1.4", + "version": "0.1.5", "description": "Tests how fast it is to run gulp tasks in child processes", "main": "index.js", "scripts": {