家族升级锁超时时间延长
This commit is contained in:
parent
66eb9a1af4
commit
af920c3e95
@ -86,6 +86,8 @@ public class FamilyCommon {
|
||||
private final FamilyMemberTotalExpService familyMemberTotalExpService;
|
||||
private final RedisService redisService;
|
||||
|
||||
private static final long BASE_RETRY_INTERVAL = 200L;
|
||||
private static final int MAX_RETRY = 8;
|
||||
|
||||
/**
|
||||
* 移除群聊.
|
||||
@ -134,11 +136,10 @@ public class FamilyCommon {
|
||||
}
|
||||
|
||||
String lockKey = "family:level:lock:" + member.getFamilyId();
|
||||
int maxRetry = 5;
|
||||
int retryCount = 0;
|
||||
boolean lockAcquired = false;
|
||||
|
||||
while (retryCount < maxRetry) {
|
||||
while (retryCount < MAX_RETRY) {
|
||||
try {
|
||||
lockAcquired = redisService.setIfAbsent(lockKey, "1", 30, TimeUnit.SECONDS);
|
||||
|
||||
@ -163,8 +164,8 @@ public class FamilyCommon {
|
||||
|
||||
// 未获取到锁,进行重试
|
||||
retryCount++;
|
||||
if (retryCount < maxRetry) {
|
||||
Thread.sleep(100L * retryCount);
|
||||
if (retryCount < MAX_RETRY) {
|
||||
Thread.sleep((long)(BASE_RETRY_INTERVAL * Math.pow(2, retryCount)));
|
||||
}
|
||||
|
||||
} catch (InterruptedException e) {
|
||||
@ -198,7 +199,7 @@ public class FamilyCommon {
|
||||
|
||||
// 重试失败日志
|
||||
log.error("获取家族升级锁失败,重试{}次后放弃,FamilyId:{},userId:{},exp:{}",
|
||||
maxRetry, member.getFamilyId(), userId, exp);
|
||||
MAX_RETRY, member.getFamilyId(), userId, exp);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user