arturo-worker
Advanced tools
Comparing version 1.0.2 to 1.1.1
@@ -6,3 +6,2 @@ 'use strict'; | ||
}); | ||
exports.default = Factory; | ||
@@ -15,2 +14,6 @@ var _util = require('util'); | ||
var _uuid = require('./utilities/uuid'); | ||
var _uuid2 = _interopRequireDefault(_uuid); | ||
var _Queue = require('./utilities/Queue'); | ||
@@ -28,3 +31,2 @@ | ||
const messenger = opts.messenger || process; | ||
const queue = new _Queue2.default(); | ||
@@ -41,6 +43,9 @@ | ||
} | ||
messenger.send(job); | ||
}).on('end', () => messenger.exit()); | ||
process.send({ | ||
type: 'job', | ||
payload: job | ||
}); | ||
}).on('end', () => process.exit()); | ||
messenger.on('message', msg => { | ||
process.on('message', msg => { | ||
switch (msg.type) { | ||
@@ -55,2 +60,21 @@ case 'job': | ||
return queue; | ||
} | ||
} | ||
Factory.queue = opts => new Promise((resolve, reject) => { | ||
const nonce = (0, _uuid2.default)(); | ||
function handler(msg) { | ||
if (msg.type !== 'queue' || msg.meta.nonce !== nonce) return; | ||
process.removeListener('message', handler); | ||
msg.err ? reject(msg.err) : resolve(); | ||
} | ||
process.on('message', handler); | ||
process.send({ | ||
type: 'queue', | ||
payload: opts, | ||
meta: { nonce } | ||
}); | ||
}); | ||
exports.default = Factory; |
{ | ||
"name": "arturo-worker", | ||
"version": "1.0.2", | ||
"version": "1.1.1", | ||
"main": "lib/Worker.js", | ||
@@ -5,0 +5,0 @@ "author": "chad.d.elliott@gmail.com", |
110184
268