🐞 fix(redlock): 删除没有意义的锁
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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) };
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user