From 871b4e5359aaaeaa5b398b1a4ea552a435468dcc Mon Sep 17 00:00:00 2001 From: chenjialing <595168663@qq.com> Date: 星期二, 09 八月 2022 17:26:32 +0800 Subject: [PATCH] 优化--直播结束异步处理截图操作,提高接口响应速度和并发能力 --- src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java | 23 ++++++++++++++++++----- 1 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java index 075b30f..cf16f86 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java @@ -3,8 +3,9 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.event.EventPublisher; +import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; -import com.genersoft.iot.vmp.storager.IVideoManagerStorager; +import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; @@ -20,7 +21,7 @@ public class SipPlatformRunner implements CommandLineRunner { @Autowired - private IVideoManagerStorager storager; + private IVideoManagerStorage storager; @Autowired private IRedisCatchStorage redisCatchStorage; @@ -28,15 +29,24 @@ @Autowired private EventPublisher publisher; + @Autowired + private ISIPCommanderForPlatform sipCommanderForPlatform; + + @Override public void run(String... args) throws Exception { // 璁剧疆鎵�鏈夊钩鍙扮绾� storager.outlineForAllParentPlatform(); + // 娓呯悊鎵�鏈夊钩鍙版敞鍐岀紦瀛� + redisCatchStorage.cleanPlatformRegisterInfos(); + + // 鍋滄鎵�鏈夋帹娴� +// zlmrtpServerFactory.closeAllSendRtpStream(); + List<ParentPlatform> parentPlatforms = storager.queryEnableParentPlatformList(true); for (ParentPlatform parentPlatform : parentPlatforms) { - redisCatchStorage.updatePlatformRegister(parentPlatform); redisCatchStorage.updatePlatformKeepalive(parentPlatform); @@ -47,8 +57,11 @@ parentPlatformCatch.setId(parentPlatform.getServerGBId()); redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); - // 鍙戦�佸钩鍙版湭娉ㄥ唽娑堟伅 - publisher.platformNotRegisterEventPublish(parentPlatform.getServerGBId()); + // 鍙栨秷璁㈤槄 + sipCommanderForPlatform.unregister(parentPlatform, null, (eventResult)->{ + // 鍙戦�佸钩鍙版湭娉ㄥ唽娑堟伅 + publisher.platformNotRegisterEventPublish(parentPlatform.getServerGBId()); + }); } } } -- Gitblit v1.8.0