Redis锁

发布时间 2024-01-03 10:27:21作者: kali98k
RLock lock = redissonClient.getLock(CacheConstants.ES_FLIGHT_DATA_SAVE_LOCK);
boolean isLocked = lock.tryLock();
log.info("定时保存航线数据到fis_strategy_route获取锁,{}", isLocked);
if(isLocked) {
try {
//获取锁后暂停10秒钟,防止其他集群执行
Thread.sleep(10000L);
String yesterday = DateUtils.getYesterDayStr();
routeService.saveBatch(yesterday);
} catch (Exception e) {
log.error("定时保存航线数据到fis_strategy_route获取锁", e);
} finally {
//释放锁
if (lock.isLocked()) {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
}
log.info("定时保存航线数据到fis_strategy_route任务结束");
}