Skip to content

Commit

Permalink
update package.json to transpile es6 to es5 on before publish
Browse files Browse the repository at this point in the history
  • Loading branch information
bugthesystem committed Jan 25, 2016
1 parent 6d76812 commit ccc65bf
Show file tree
Hide file tree
Showing 12 changed files with 532 additions and 144 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ node_modules
# Created by .ignore support plugin (hsz.mobi)

.idea/
/lib/
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/src/
3 changes: 0 additions & 3 deletions index.js

This file was deleted.

251 changes: 179 additions & 72 deletions lib/consul-provider.js
Original file line number Diff line number Diff line change
@@ -1,97 +1,204 @@
import {ServiceInformation, ClusterProvider} from 'microphone-core';
import {CronJob} from 'cron';
'use strict';

export default class ConsulProvider extends ClusterProvider {
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

constructor(client, logger) {
super();
Object.defineProperty(exports, "__esModule", {
value: true
});

this._client = client;
this._logger = logger;
var _microphoneCore = require('microphone-core');

this._serviceName = "";
this._serviceId = "";
this._version = "";
this._uri = "";
this._useEbayFabio = false;
}
var _cron = require('cron');

async findServiceInstancesAsync(name) {
if (this._useEbayFabio === true) {
return [
new ServiceInformation("http://localhost", 9999)
];
}
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

return this._client.findServiceAsync(name);
}
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

async registerServiceAsync(serviceName, serviceId, version, uri) {
this._serviceName = serviceName;
this._serviceId = serviceId;
this._version = version;
this._uri = uri;
await this._client.registerServiceAsync(serviceName, serviceId, uri);
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

this.__startReaper();
}
var ConsulProvider = function (_ClusterProvider) {
_inherits(ConsulProvider, _ClusterProvider);

function ConsulProvider(client, logger) {
_classCallCheck(this, ConsulProvider);

async bootstrapClientAsync() {
this.__startReaper();
var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(ConsulProvider).call(this));

//Task.FromResult(0);
return new Promise((resolve, reject)=> {
return resolve({});
});
_this._client = client;
_this._logger = logger;

_this._serviceName = "";
_this._serviceId = "";
_this._version = "";
_this._uri = "";
_this._useEbayFabio = false;
return _this;
}

__startReaper() {
function actionCompleteHandler(err, httpResponse, body) {
//noop
_createClass(ConsulProvider, [{
key: 'findServiceInstancesAsync',
value: function findServiceInstancesAsync(name) {
return regeneratorRuntime.async(function findServiceInstancesAsync$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!(this._useEbayFabio === true)) {
_context.next = 2;
break;
}

return _context.abrupt('return', [new _microphoneCore.ServiceInformation("http://localhost", 9999)]);

case 2:
return _context.abrupt('return', this._client.findServiceAsync(name));

case 3:
case 'end':
return _context.stop();
}
}
}, null, this);
}
}, {
key: 'registerServiceAsync',
value: function registerServiceAsync(serviceName, serviceId, version, uri) {
return regeneratorRuntime.async(function registerServiceAsync$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
this._serviceName = serviceName;
this._serviceId = serviceId;
this._version = version;
this._uri = uri;
_context2.next = 6;
return regeneratorRuntime.awrap(this._client.registerServiceAsync(serviceName, serviceId, uri));

case 6:

this.__startReaper();

case 7:
case 'end':
return _context2.stop();
}
}
}, null, this);
}
}, {
key: 'bootstrapClientAsync',
value: function bootstrapClientAsync() {
return regeneratorRuntime.async(function bootstrapClientAsync$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
this.__startReaper();

//Task.FromResult(0);
return _context3.abrupt('return', new Promise(function (resolve, reject) {
return resolve({});
}));

case 2:
case 'end':
return _context3.stop();
}
}
}, null, this);
}
}, {
key: '__startReaper',
value: function __startReaper() {
function actionCompleteHandler(err, httpResponse, body) {
//noop
}

var lookup = [];
var lookup = [];

async function onTick() {
if (this._port > 0) this._client.setPort(this._port);
function onTick() {
var res, criticalServiceId;
return regeneratorRuntime.async(function onTick$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
if (this._port > 0) this._client.setPort(this._port);

_context4.prev = 1;
_context4.next = 4;
return regeneratorRuntime.awrap(this._client.getCriticalServicesAsync());

try {
var res = await this._client.getCriticalServicesAsync();
case 4:
res = _context4.sent;
_context4.t0 = regeneratorRuntime.keys(res);

for (let criticalServiceId in res) {
if (lookup.indexOf(criticalServiceId) !== -1) {
await c.unRegisterServiceAsync(criticalServiceId);
this._logger.info(`Reaper: Removing ${criticalServiceId}`);
}
else {
lookup.push(criticalServiceId);
this._logger.info(`Reaper: Marking ${criticalServiceId}`);
}
}
case 6:
if ((_context4.t1 = _context4.t0()).done) {
_context4.next = 18;
break;
}

//remove entries that are no longer critical
lookup.filter(serviceId => !(lookup.indexOf(serviceId) !== -1));
criticalServiceId = _context4.t1.value;

if (!(lookup.indexOf(criticalServiceId) !== -1)) {
_context4.next = 14;
break;
}

_context4.next = 11;
return regeneratorRuntime.awrap(c.unRegisterServiceAsync(criticalServiceId));

case 11:
this._logger.info('Reaper: Removing ' + criticalServiceId);
_context4.next = 16;
break;

case 14:
lookup.push(criticalServiceId);
this._logger.info('Reaper: Marking ' + criticalServiceId);

case 16:
_context4.next = 6;
break;

case 18:

//remove entries that are no longer critical
lookup.filter(function (serviceId) {
return !(lookup.indexOf(serviceId) !== -1);
});

_context4.next = 24;
break;

case 21:
_context4.prev = 21;
_context4.t2 = _context4['catch'](1);

this._logger.error(_context4.t2, "Crashed");

case 24:
case 'end':
return _context4.stop();
}
}
}, null, this, [[1, 21]]);
}
catch (ex) {
this._logger.error(ex, "Crashed");
}
}

try {
let job = new CronJob({
cronTime: "*/5 * * * * *" /*every 5 seconds*/,
onTick: onTick.bind(this),
try {
var job = new _cron.CronJob({
cronTime: "*/5 * * * * *" /*every 5 seconds*/
, onTick: onTick.bind(this),
start: false
}
);
});

job.start();
this._logger.info("Reaper: started..");
}
catch (ex) {
this._logger.error(ex);
job.start();
this._logger.info("Reaper: started..");
} catch (ex) {
this._logger.error(ex);
}
}
}
}
}]);

return ConsulProvider;
}(_microphoneCore.ClusterProvider);

exports.default = ConsulProvider;
Loading

0 comments on commit ccc65bf

Please sign in to comment.