UNPKG

openhim-core

Version:

The OpenHIM core application that provides logging and routing of http requests

39 lines (31 loc) 1.07 kB
var Mediator, Q, moment, server, utils; utils = require('../utils'); server = require('../server'); Mediator = require('../model/mediators').Mediator; moment = require('moment'); Q = require('q'); exports.getHeartbeat = function*() { var e, error, i, len, mediator, mediators, result, uptime; try { uptime = Q.denodeify(server.getUptime); result = (yield uptime); mediators = (yield Mediator.find().exec()); for (i = 0, len = mediators.length; i < len; i++) { mediator = mediators[i]; if (!result.mediators) { result.mediators = {}; } if ((mediator._lastHeartbeat != null) && (mediator._uptime != null) && moment().diff(mediator._lastHeartbeat, 'seconds') <= 60) { result.mediators[mediator.urn] = mediator._uptime; } else { result.mediators[mediator.urn] = null; } } result.now = Date.now(); return this.body = result; } catch (error) { e = error; return utils.logAndSetResponse(this, 500, "Error: " + e, 'error'); } }; //# sourceMappingURL=heartbeat.js.map