| 'use strict' |
| |
| const Farm = require('./farm') |
| |
| let farms = [] // keep record of farms so we can end() them if required |
| |
| |
| function farm (options, path, methods) { |
| if (typeof options == 'string') { |
| methods = path |
| path = options |
| options = {} |
| } |
| |
| let f = new Farm(options, path) |
| , api = f.setup(methods) |
| |
| farms.push({ farm: f, api: api }) |
| |
| // return the public API |
| return api |
| } |
| |
| |
| function end (api, callback) { |
| for (let i = 0; i < farms.length; i++) |
| if (farms[i] && farms[i].api === api) |
| return farms[i].farm.end(callback) |
| process.nextTick(callback.bind(null, new Error('Worker farm not found!'))) |
| } |
| |
| |
| module.exports = farm |
| module.exports.end = end |