Browse Source

【疫情防控】信息同步器,取锁判空

master
wangxianzhang 3 years ago
parent
commit
625c43bd56
  1. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/processor/AbstractDataSyncJobProcessor.java

8
epmet-user/epmet-user-server/src/main/java/com/epmet/processor/AbstractDataSyncJobProcessor.java

@ -80,6 +80,10 @@ public abstract class AbstractDataSyncJobProcessor {
RLock lock = null;
try {
lock = distributedLock.getLock(getDistributeLockKey(), getDistributeLockLeaseTime(), getDistributeLockWaitTime(), TimeUnit.SECONDS);
if (lock == null) {
log.warn("【异步数据更新】{}获取锁为空", getJobType());
return;
}
// 查询可执行的任务列表,并且异步执行
List<IcSyncJobEntity> icSyncJobToExec = icSyncJobDao.selectJobListByStatus("waiting", getJobType(), null, leftCount);
if (!CollectionUtils.isEmpty(icSyncJobToExec)) {
@ -89,9 +93,7 @@ public abstract class AbstractDataSyncJobProcessor {
} catch (Exception e) {
log.error("【异步数据更新】出错:{}", ExceptionUtils.getErrorStackTrace(e));
} finally {
if (lock != null) {
lock.unlock();
}
distributedLock.unLock(lock);
}
}

Loading…
Cancel
Save