mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-27 07:27:49 +08:00
Compare commits
No commits in common. "2bdced8b9cf552852fa7a881ef3b98273b989fe9" and "a33e7949a41c4fd925173c97f2f91663b40a93ad" have entirely different histories.
2bdced8b9c
...
a33e7949a4
@ -80,8 +80,8 @@ public class KeepaliveNotifyMessageHandler extends SIPRequestProcessorParent imp
|
|||||||
device.setLocalIp(request.getLocalAddress().getHostAddress());
|
device.setLocalIp(request.getLocalAddress().getHostAddress());
|
||||||
}
|
}
|
||||||
device.setKeepaliveTimeStamp(System.currentTimeMillis());
|
device.setKeepaliveTimeStamp(System.currentTimeMillis());
|
||||||
taskQueue.add(device);
|
|
||||||
if (device.isOnLine()) {
|
if (device.isOnLine()) {
|
||||||
|
taskQueue.add(device);
|
||||||
long expiresTime = Math.min(device.getExpires(), device.getHeartBeatInterval() * device.getHeartBeatCount()) * 1000L;
|
long expiresTime = Math.min(device.getExpires(), device.getHeartBeatInterval() * device.getHeartBeatCount()) * 1000L;
|
||||||
deviceStatusManager.add(device.getDeviceId(), expiresTime + System.currentTimeMillis());
|
deviceStatusManager.add(device.getDeviceId(), expiresTime + System.currentTimeMillis());
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -561,14 +561,9 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
|
|||||||
public Boolean execute(@NonNull RedisOperations operations) {
|
public Boolean execute(@NonNull RedisOperations operations) {
|
||||||
// 1. 批量添加心跳数据到列表尾部
|
// 1. 批量添加心跳数据到列表尾部
|
||||||
for (Device device : deviceList) {
|
for (Device device : deviceList) {
|
||||||
Duration duration = Duration.ofHours(1);
|
operations.opsForList().rightPush(VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId(), device.getKeepaliveTimeStamp());
|
||||||
String key = VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId();
|
|
||||||
operations.opsForList().rightPush(key, device.getKeepaliveTimeStamp());
|
|
||||||
// 2. 截取列表,只保留最新 100 条
|
// 2. 截取列表,只保留最新 100 条
|
||||||
operations.opsForList().trim(key, -100, -1);
|
operations.opsForList().trim((VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId()), -1000, -1);
|
||||||
|
|
||||||
// 为整个列表 Key 设置过期时间(核心:覆盖式设置,每次更新心跳都重置过期时间)
|
|
||||||
operations.expire(key, duration);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -585,7 +580,7 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
|
|||||||
if (count == null) {
|
if (count == null) {
|
||||||
count = 20;
|
count = 20;
|
||||||
}
|
}
|
||||||
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + deviceId, -count - 1, -1);
|
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + deviceId, 0, count + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -602,15 +597,9 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
|
|||||||
public Boolean execute(@NonNull RedisOperations operations) {
|
public Boolean execute(@NonNull RedisOperations operations) {
|
||||||
// 1. 批量添加心跳数据到列表尾部
|
// 1. 批量添加心跳数据到列表尾部
|
||||||
for (Device device : deviceList) {
|
for (Device device : deviceList) {
|
||||||
Duration duration = Duration.ofHours(3);
|
operations.opsForList().rightPush(VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId(), device.getRegisterTimeStamp());
|
||||||
String key = VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId();
|
|
||||||
operations.opsForList().rightPush(key, device.getRegisterTimeStamp());
|
|
||||||
// 2. 截取列表,只保留最新 100 条
|
// 2. 截取列表,只保留最新 100 条
|
||||||
operations.opsForList().trim(key, -100, -1);
|
operations.opsForList().trim((VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId()), -1000, -1);
|
||||||
|
|
||||||
// 为整个列表 Key 设置过期时间(核心:覆盖式设置,每次更新心跳都重置过期时间)
|
|
||||||
operations.expire(key, duration);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -626,6 +615,6 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
|
|||||||
if (count == null) {
|
if (count == null) {
|
||||||
count = 20;
|
count = 20;
|
||||||
}
|
}
|
||||||
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_REGISTER_PREFIX + deviceId, -count - 1, -1);
|
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_REGISTER_PREFIX + deviceId, 0, count + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,6 @@
|
|||||||
v-if="viewMode === 'table'"
|
v-if="viewMode === 'table'"
|
||||||
:data="list"
|
:data="list"
|
||||||
border
|
border
|
||||||
stripe
|
|
||||||
size="mini"
|
size="mini"
|
||||||
height="400px"
|
height="400px"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user