mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-15 18:17:50 +08:00
40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
package com.genersoft.iot.vmp.service;
|
||
|
||
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
|
||
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
|
||
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
|
||
import org.springframework.beans.factory.annotation.Autowired;
|
||
import org.springframework.scheduling.annotation.Scheduled;
|
||
import org.springframework.stereotype.Component;
|
||
|
||
import java.util.List;
|
||
|
||
|
||
/**
|
||
* 定时查找redis中的GPS推送消息,并保存到对应的流中
|
||
*/
|
||
@Component
|
||
public class StreamGPSSubscribeTask {
|
||
|
||
@Autowired
|
||
private IRedisCatchStorage redisCatchStorage;
|
||
|
||
@Autowired
|
||
private IVideoManagerStorage storager;
|
||
|
||
|
||
|
||
@Scheduled(fixedRate = 30 * 1000) //每30秒执行一次
|
||
public void execute(){
|
||
List<GPSMsgInfo> gpsMsgInfo = redisCatchStorage.getAllGpsMsgInfo();
|
||
if (gpsMsgInfo.size() > 0) {
|
||
storager.updateStreamGPS(gpsMsgInfo);
|
||
for (GPSMsgInfo msgInfo : gpsMsgInfo) {
|
||
msgInfo.setStored(true);
|
||
redisCatchStorage.updateGpsMsgInfo(msgInfo);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|