UNPKG

pdfer-job-pusher

Version:

Push new pdf extract jobs out to workers

49 lines (42 loc) 1.31 kB
var should = require('should'); var axon = require('axon'); var rk = require('required-keys'); var inspect = require('eyespect').inspector(); module.exports = function (data) { var keys = ['config', 'logger']; var err = rk.truthySync(data, keys); should.not.exist(err); var config = data.config; var seaport = data.seaport || require('seaport'); var seaportHost = config.get('seaport:host'); var seaportPort = config.get('seaport:port'); var ports = seaport.connect(seaportPort); var port = ports.register('pusher'); var socket = axon.socket('push'); socket.format('json'); socket.bind(port); var open = true; process.on('SIGINT', function() { ports.free(port); inspect(port, 'pusher process SIGINT, free pusher service port from seaport registry'); socket.close(); var open = false; process.exit(); }); process.on('SIGTERM', function() { ports.free(port); inspect(port, 'pusher process SIGTERM, free pusher service port from seaport registry'); if (open) { var open = true; } process.exit(); }); process.on('exit', function() { ports.free(port); inspect(port, 'pusher process exit event, free pusher service port from seaport registry'); if (open) { var open = true; } }); return socket; };