コード例 #1
0
ファイル: service.js プロジェクト: tlivings/service0
exports = module.exports = function (handler) {
    var socket;

    assert.strictEqual(typeof handler, 'function');

    socket = new zmq.socket('rep');

    socket.on('message', function (message) {
        message = message && message.length > 0 ? JSON.parse(message) : {};

        handler(message, function (error, result) {
            var response = [];

            if (error) {
                if (!(error instanceof Error)) {
                    error = new Error(error);
                }
                error = JSON.stringify({ error: true, name: error.name, message: error.message })
            }
            else {
                error = '';
            }

            response.push(error);

            if (result) {
                response.push(JSON.stringify(result));
            }

            socket.send(response);
        });
    });

    return socket;
};
コード例 #2
0
ファイル: zmqutil.js プロジェクト: 183181731/stf
module.exports.socket = function() {
  var sock = zmq.socket.apply(zmq, arguments)

  ;['ZMQ_TCP_KEEPALIVE', 'ZMQ_TCP_KEEPALIVE_IDLE'].forEach(function(opt) {
    if (process.env[opt]) {
      try {
        sock.setsockopt(zmq[opt], Number(process.env[opt]))
      }
      catch (err) {
        log.warn('ZeroMQ library too old, no support for %s', opt)
      }
    }
  })

  return sock
}
コード例 #3
0
ファイル: service.js プロジェクト: tlivings/service0
        handler(message, function (error, result) {
            var response = [];

            if (error) {
                if (!(error instanceof Error)) {
                    error = new Error(error);
                }
                error = JSON.stringify({ error: true, name: error.name, message: error.message })
            }
            else {
                error = '';
            }

            response.push(error);

            if (result) {
                response.push(JSON.stringify(result));
            }

            socket.send(response);
        });