路由:修复单个路由情况
This commit is contained in:
@@ -160,13 +160,14 @@ export default class GameController extends Controller {
|
||||
// select connector
|
||||
let sum = connectors.reduce((pre, cur) => pre + (cur['num']||0), 0);
|
||||
let res;
|
||||
if(sum == 0) {
|
||||
res = dispatch(userCode, connectors, 'connector');
|
||||
} else {
|
||||
if(sum > 0) {
|
||||
let serversWithWeight = connectors.map(cur => ({...cur, weight: sum - (cur['num']||0)}));
|
||||
let randResult = getRandEelmWithWeight(serversWithWeight);
|
||||
res = randResult.dic;
|
||||
}
|
||||
if(!res) {
|
||||
res = dispatch(userCode, connectors, 'connector');
|
||||
}
|
||||
let { id, serverType, clientHost, clientPort, num = 0 } = res;
|
||||
|
||||
await redisClient.hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: num + 1 }));
|
||||
|
||||
Reference in New Issue
Block a user