优化ssrc释放逻辑,优化级联点播速度,去除等待流格式的配置项

This commit is contained in:
648540858
2022-03-07 01:17:45 +08:00
parent 9d37b411ec
commit b2c953fc76
37 changed files with 555 additions and 207 deletions

View File

@@ -5,6 +5,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
@@ -25,15 +26,38 @@ public class DynamicTask {
return new ThreadPoolTaskScheduler();
}
/**
* 循环执行的任务
* @param key 任务ID
* @param task 任务
* @param cycleForCatalog 间隔
* @return
*/
public String startCron(String key, Runnable task, int cycleForCatalog) {
stopCron(key);
stop(key);
// scheduleWithFixedDelay 必须等待上一个任务结束才开始计时period cycleForCatalog表示执行的间隔
ScheduledFuture future = threadPoolTaskScheduler.scheduleWithFixedDelay(task, cycleForCatalog * 1000L);
futureMap.put(key, future);
return "startCron";
}
public void stopCron(String key) {
/**
* 延时任务
* @param key 任务ID
* @param task 任务
* @param delay 延时 /秒
* @return
*/
public String startDelay(String key, Runnable task, int delay) {
stop(key);
Date starTime = new Date(System.currentTimeMillis() + delay * 1000);
// scheduleWithFixedDelay 必须等待上一个任务结束才开始计时period cycleForCatalog表示执行的间隔
ScheduledFuture future = threadPoolTaskScheduler.schedule(task, starTime);
futureMap.put(key, future);
return "startCron";
}
public void stop(String key) {
if (futureMap.get(key) != null && !futureMap.get(key).isCancelled()) {
futureMap.get(key).cancel(true);
}

View File

@@ -59,8 +59,11 @@ public class SipPlatformRunner implements CommandLineRunner {
redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch);
// 取消订阅
sipCommanderForPlatform.unregister(parentPlatform, null, null);
Thread.sleep(500);
sipCommanderForPlatform.unregister(parentPlatform, null, (eventResult)->{
ParentPlatform platform = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId());
sipCommanderForPlatform.register(platform, null, null);
});
// 发送平台未注册消息
publisher.platformNotRegisterEventPublish(parentPlatform.getServerGBId());
}

View File

@@ -19,8 +19,6 @@ public class UserSetup {
private Long playTimeout = 18000L;
private Boolean waitTrack = Boolean.FALSE;
private Boolean interfaceAuthentication = Boolean.TRUE;
private Boolean recordPushLive = Boolean.TRUE;
@@ -57,10 +55,6 @@ public class UserSetup {
return playTimeout;
}
public Boolean isWaitTrack() {
return waitTrack;
}
public Boolean isInterfaceAuthentication() {
return interfaceAuthentication;
}
@@ -89,10 +83,6 @@ public class UserSetup {
this.playTimeout = playTimeout;
}
public void setWaitTrack(Boolean waitTrack) {
this.waitTrack = waitTrack;
}
public void setInterfaceAuthentication(boolean interfaceAuthentication) {
this.interfaceAuthentication = interfaceAuthentication;
}