优化报警推送心跳定时任务

This commit is contained in:
648540858
2024-10-29 09:22:04 +08:00
parent bf9262283e
commit caaaaacb89
3 changed files with 26 additions and 23 deletions

View File

@@ -1,5 +1,6 @@
package com.genersoft.iot.vmp.gb28181.controller;
import com.genersoft.iot.vmp.conf.DynamicTask;
import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEventListener;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
@@ -28,6 +29,9 @@ public class SseController {
@Resource
private AlarmEventListener alarmEventListener;
@Resource
private DynamicTask dynamicTask;
/**
* SSE 推送.
*
@@ -45,11 +49,13 @@ public class SseController {
PrintWriter writer = response.getWriter();
alarmEventListener.addSseEmitter(browserId, writer);
while (!writer.checkError()) {
Thread.sleep(1000);
writer.write(":keep alive\n\n");
writer.flush();
}
dynamicTask.startCron("sse-key", new Runnable() {
@Override
public void run() {
writer.write(":keep alive\n\n");
writer.flush();
}
}, 1000);
alarmEventListener.removeSseEmitter(browserId, writer);
}
}