微调
This commit is contained in:
@@ -86,19 +86,30 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
|
||||
record.setOfflineTime(LocalDateTime.now());
|
||||
onlineLogsService.updateById(record);
|
||||
try {
|
||||
//装置掉线等待10分钟,发起接入请求
|
||||
String version = csTopicService.getVersion(nDid);
|
||||
log.info("装置掉线10分钟发送接入请求,接入失败则进入定时接入任务");
|
||||
Thread.sleep(600000);
|
||||
//装置没有心跳,则立马发起接入请求
|
||||
log.info("装置掉线3分钟发送接入请求");
|
||||
csDeviceService.devAccess(nDid,version);
|
||||
//接入再次失败,则定时发起接入请求
|
||||
Thread.sleep(1000);
|
||||
Integer status = csEquipmentDeliveryService.queryEquipmentBynDid(nDid).getRunStatus();
|
||||
Integer status = csEquipmentDeliveryService.queryEquipmentBynDid(nDid).getRunStatus();
|
||||
if (Objects.equals(status,AccessEnum.ONLINE.getCode())){
|
||||
throw new BusinessException(CommonResponseEnum.SUCCESS);
|
||||
}
|
||||
//心跳断连立马发起接入失败后,1分钟再次发起请求,请求3次
|
||||
for (int i = 1; i < 4; i++) {
|
||||
//接入再次失败,则定时发起接入请求
|
||||
Thread.sleep(1000 * 60);
|
||||
log.info("装置定时1分钟发送接入请求,第" + i + "次尝试");
|
||||
csDeviceService.devAccess(nDid,version);
|
||||
status = csEquipmentDeliveryService.queryEquipmentBynDid(nDid).getRunStatus();
|
||||
if (Objects.equals(status,AccessEnum.ONLINE.getCode())){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!Objects.isNull(status) && Objects.equals(status,AccessEnum.OFFLINE.getCode())){
|
||||
final int[] mid = {2};
|
||||
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(2);
|
||||
ScheduledFuture<?> runnableFuture = executor.scheduleAtFixedRate(() -> {
|
||||
log.info("定时发送接入请求...");
|
||||
log.info("装置10分钟定时发送接入请求...");
|
||||
csDeviceService.devAccessMid(nDid,version, mid[0]);
|
||||
Integer status2 = csEquipmentDeliveryService.queryEquipmentBynDid(nDid).getRunStatus();
|
||||
if (Objects.equals(status2,AccessEnum.ONLINE.getCode())){
|
||||
|
||||
@@ -174,7 +174,7 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
|
||||
logDto.setResult(1);
|
||||
Object model = null;
|
||||
try {
|
||||
Thread.sleep(1500);
|
||||
Thread.sleep(3000);
|
||||
String key = AppRedisKey.LINE + nDid;
|
||||
model = redisUtil.getObjectByKey(key);
|
||||
if (Objects.isNull(model)){
|
||||
|
||||
Reference in New Issue
Block a user