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