🎈 perf(dispatch): 路由使用redis

This commit is contained in:
luying
2023-04-26 09:54:55 +08:00
parent 6907275ff2
commit e1d2b4b349
13 changed files with 67 additions and 154 deletions
+10 -10
View File
@@ -31,7 +31,7 @@ import { getBattleListOfMain, getMainChapter } from './normalBattleService';
import { GuildModel, GuildType } from '../db/Guild';
import UserGuild, { UserGuildType } from '../db/UserGuild';
import { getAllGuildActivityStatus } from './guildActivity/guildActivityService';
import { getAllOnlineRoles, getAllServers, incConnectorNum } from './redisService';
import { getAllOnlineRoles, getAllServers, incConnectorNum, redisClient } from './redisService';
import Item, { ItemModel } from '../db/Item';
import { PvpDefenseModel } from '../db/PvpDefense';
import { getDonation } from './donateService';
@@ -47,7 +47,7 @@ import { getSurvey } from './gmService';
import { ComBattleTeamModel } from '../db/ComBattleTeam';
import { INFO_WINDOW } from '../pubUtils/dicParam';
import { getLadderData } from './ladderService';
import { dispatch } from '../util/dispatcher';
import { dispatch } from '../pubUtils/dispatcher';
import { PvpDataReturn } from '../domain/battleField/pvp';
import { getHiddenData } from './dataService';
import { ArtifactModel } from '../db/Artifact';
@@ -349,12 +349,12 @@ export async function kickUser(app: Application, uid: string, message = STATUS.L
export async function assignServer(roleId: string, session: FrontendOrBackendSession) {
try {
let activity = _assignServer(roleId, 'activity');
let battle = _assignServer(roleId, 'battle');
let chat = _assignServer(roleId, 'chat');
let guild = _assignServer(roleId, 'guild');
let role = _assignServer(roleId, 'role');
let order = _assignServer(roleId, 'order');
let activity = await _assignServer(roleId, 'activity');
let battle = await _assignServer(roleId, 'battle');
let chat = await _assignServer(roleId, 'chat');
let guild = await _assignServer(roleId, 'guild');
let role = await _assignServer(roleId, 'role');
let order = await _assignServer(roleId, 'order');
if(activity) {
session.set('activityServer', activity);
session.push('activityServer', () => { });
@@ -384,7 +384,7 @@ export async function assignServer(roleId: string, session: FrontendOrBackendSes
}
}
function _assignServer(roleId: string, serverType: string) {
async function _assignServer(roleId: string, serverType: string) {
let servers = pinus.app.getServersByType(serverType)||[];
let sum = servers.reduce((pre, cur) => pre + (cur['num']||0), 0);
let id = '';
@@ -394,7 +394,7 @@ function _assignServer(roleId: string, serverType: string) {
id = server?.id;
}
if(!id) {
id = dispatch(roleId, servers, serverType)?.id;
id = (await dispatch(redisClient(), roleId, servers, serverType))?.id;
}
return id
}