| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- 'use strict';
- var _ = require('lodash');
- var C = require('../../../../share/constant');
- var Handler = function(app){
- this.app = app;
- };
- module.exports = function(app){
- return new Handler(app);
- };
- var proto = Handler.prototype;
- proto.getConnector = function(msg, session, next){
- var servers = this.app.getServersByType('connector');
- ////检查不可用的connector端口
- delete require.cache[require.resolve('../../../config/bkyconnets')];
- let bkyports = require('../../../config/bkyconnets').bkyports || [];
- if(bkyports && bkyports.length > 0){
- console.warn("-bky.bkyports ",bkyports);
- let newList = [];
- for (var i = 0; i < servers.length; i++) {
- if(bkyports.indexOf(servers[i].clientPort) == -1){
- newList[newList.length] = servers[i];
- }
- }
- servers = [];
- for (var i = 0; i < newList.length; i++) {
- servers[servers.length] = newList[i];
- }
- }
- var server = _.sample(servers);
- if(!server){
- return next(null, {code: C.ERROR, msg: C.GATE_NO_CONNECTOR});
- }
- // console.warn("getConnector "+" host:+ " +server.clientHost+" port: "+server.clientPort);
- var data = {code: C.OK, data: {host: server.clientHost, port: server.clientPort}};
- next(null, data);
- };
|