优化ssrc释放逻辑,优化级联点播速度,去除等待流格式的配置项
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user