微调
This commit is contained in:
@@ -276,7 +276,7 @@ public class MessageRecordServiceImpl extends ServiceImpl<MessageRecordMapper, M
|
||||
public Page<MessageRecordDO> getPage(MessageRecordReqVO reqVO) {
|
||||
QueryWrapper<MessageRecordDO> wrapper = new QueryWrapper<>();
|
||||
wrapper.lambda()
|
||||
.eq(StrUtil.isNotBlank(reqVO.getMessageType()), MessageRecordDO::getChannel, reqVO.getChannel());
|
||||
.eq(StrUtil.isNotBlank(reqVO.getMessageType()), MessageRecordDO::getMessageType, reqVO.getMessageType());
|
||||
return this.page(new Page<>(PageUtils.getPageNum(reqVO), PageUtils.getPageSize(reqVO)), wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,6 +271,7 @@ public class MessageRetryQueueServiceImpl extends ServiceImpl<MessageRetryQueueM
|
||||
log.info("========== 重试队列重建完成 ==========");
|
||||
}
|
||||
|
||||
// 每60分钟主动从数据库中扫描一次,将消息重试数据同步到 Redis 中
|
||||
@Scheduled(fixedRate = 600000)
|
||||
@Override
|
||||
public void syncRetryQueueConsistency() {
|
||||
@@ -334,6 +335,9 @@ public class MessageRetryQueueServiceImpl extends ServiceImpl<MessageRetryQueueM
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过设置lockUntil时间、process_status=1来从数据库层抢占该条重试消息。
|
||||
*/
|
||||
private boolean claimRetryMessage(Long messageId, String channel, LocalDateTime currentTime, LocalDateTime lockUntil) {
|
||||
return baseMapper.claimRetryMessage(messageId, channel, currentTime, lockUntil) > 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user