🐞 fix(redlock): 删除没有意义的锁

This commit is contained in:
luying
2023-04-18 13:58:50 +08:00
parent c6571be899
commit a03276ef77
2 changed files with 14 additions and 14 deletions

View File

@@ -82,13 +82,13 @@ export async function checkAuth(func: number, targetCode: string, guildAuth: num
*/
export async function joinGuild(code: string, guildName: string, lv: number, roleId: string, serverId: number, session: BackendSession) {
// 周结算锁
let weeklySumLock = await lockDataNoRetry(serverId, DATA_NAME.WEEKLY_GUILD_SUM, code);
if (!!weeklySumLock.err) {
weeklySumLock.releaseCallback();
return { status: -1, resResult: resResult(STATUS.GUILD_WEEKLY_SUM) };
}
weeklySumLock.releaseCallback();
// // 周结算锁
// let weeklySumLock = await lockDataNoRetry(serverId, DATA_NAME.WEEKLY_GUILD_SUM, code);
// if (!!weeklySumLock.err) {
// weeklySumLock.releaseCallback();
// return { status: -1, resResult: resResult(STATUS.GUILD_WEEKLY_SUM) };
// }
// weeklySumLock.releaseCallback();
// 人数锁
let res: any = await lockData(serverId, DATA_NAME.JOIN_GUILD, code);// 加锁
@@ -356,10 +356,10 @@ export async function settleGuildWeekly() {
// 周结算时1. 不能变动memberCnt 2.玩家activeWeekly不能变动 3.公会activeWeekly不能变动
for (let { code, memberCnt, serverId } of guildList) {
let res: any = await lockDataNoRetry(serverId, DATA_NAME.WEEKLY_GUILD_SUM, code);//加锁
if (!!res.err) {
await ErrLogModel.create(`settle guild lock data error: ${res.err}`)
}
// let res: any = await lockDataNoRetry(serverId, DATA_NAME.WEEKLY_GUILD_SUM, code);//加锁
// if (!!res.err) {
// await ErrLogModel.create(`settle guild lock data error: ${res.err}`)
// }
const userGuildList = await UserGuildModel.getListByGuild(code, 'roleId auth activeWeekly', { activeWeekly: -1, activeUpdateTime: 1 });
let otherMemberCnt = 0; // 除了大将军以外从活跃高到底成员人数,用户计算活跃排名百分比
@@ -405,7 +405,7 @@ export async function settleGuildWeekly() {
}
await GuildModel.updateInfo(code, { activeWeekly: 0 }, {});
res.releaseCallback();//解锁
// res.releaseCallback();//解锁
}
await initSingleRank(REDIS_KEY.GUILD_ACTIVE_RANK);
await initSingleRank(REDIS_KEY.GUILD_LV_RANK);

View File

@@ -84,7 +84,7 @@ async function lock(lockKey: string) {
return new Promise((resolve) => {
_redlockCache.redlock.lock(lockKey, _redlockCache.ttl, function(err, lock) {
if(err) {
return resolve({ err })
return resolve({ err, releaseCallback: releaseCallback.bind(null, lockKey) })
}
setLock(lockKey, lock);
return resolve({err: null, releaseCallback: releaseCallback.bind(null, lockKey)});
@@ -116,6 +116,6 @@ function lockNoRetry(lockKey: string) {
return {err: null, releaseCallback: releaseCallback.bind(null, lockKey)};
}).catch(function(err) {
console.error(err);
return { err };
return { err, releaseCallback: releaseCallback.bind(null, lockKey) };
});
}