增加星尘聊天超时10分钟清楚内存 缓存
This commit is contained in:
parent
74fe812935
commit
2bd1d6815b
@ -522,11 +522,17 @@ public enum ActionPartSpeechEnum implements IChinesePartSpeech{
|
||||
}else{
|
||||
action.getTime().setTime(key, false);
|
||||
}
|
||||
int index = action.getNoTimeAsk().indexOf(key);
|
||||
String v = action.getNoTimeAsk().substring(0, index);
|
||||
v += action.getNoTimeAsk().substring(index + key.length());
|
||||
//action.setNoTimeAsk(action.getNoTimeAsk().substring(action.getNoTimeAsk().indexOf(key) + key.length()));
|
||||
action.setNoTimeAsk(v);
|
||||
if(StringUtils.isNotEmpty(action.getNoTimeAsk())){
|
||||
int index = action.getNoTimeAsk().indexOf(key);
|
||||
if(index >= 0){
|
||||
String v = action.getNoTimeAsk().substring(0, index);
|
||||
v += action.getNoTimeAsk().substring(index + key.length());
|
||||
//action.setNoTimeAsk(action.getNoTimeAsk().substring(action.getNoTimeAsk().indexOf(key) + key.length()));
|
||||
action.setNoTimeAsk(v);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return action;
|
||||
}
|
||||
},//LAC TIME
|
||||
|
||||
@ -20,6 +20,7 @@ import org.springframework.util.CollectionUtils;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.scheduler.Schedulers;
|
||||
|
||||
import javax.annotation.PreDestroy;
|
||||
import javax.annotation.Resource;
|
||||
import java.time.Duration;
|
||||
import java.util.*;
|
||||
@ -38,10 +39,18 @@ public class TongYiXinChenService implements ITongYi{
|
||||
/**
|
||||
* 超过该时间还未发送消息的将被剔除
|
||||
*/
|
||||
static Long TIME_OUT = 60000L;
|
||||
static Long TIME_OUT = 600000L;
|
||||
|
||||
Boolean runClean = true;
|
||||
|
||||
public TongYiXinChenService(){
|
||||
//checkOutTime().subscribeOn(Schedulers.newSingle("tongyi-xinchen-clean")).subscribe();
|
||||
Mono.just(true).subscribeOn(Schedulers.newSingle("tongyi-xinchen-clean")).map(
|
||||
b -> {
|
||||
checkOutTime();
|
||||
return b;
|
||||
}
|
||||
|
||||
).subscribe();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -62,10 +71,10 @@ public class TongYiXinChenService implements ITongYi{
|
||||
});
|
||||
}
|
||||
|
||||
private Mono<Void> checkOutTime(){
|
||||
private void checkOutTime(){
|
||||
log.info("开启清理内存数据任务");
|
||||
List<String> keys = new ArrayList<>();
|
||||
while(true){
|
||||
while(runClean){
|
||||
for (String key: qianwenGroup.keySet()
|
||||
) {
|
||||
AliYunXingChen aliYunXingChen = qianwenGroup.get(key);
|
||||
@ -74,7 +83,10 @@ public class TongYiXinChenService implements ITongYi{
|
||||
keys.add(key);
|
||||
}
|
||||
}
|
||||
log.info("需要清除内存中:{}数据", keys.size());
|
||||
if(keys.size() > 0){
|
||||
log.info("内存数据量{},需要清除内存中:{}数据", qianwenGroup.size(), keys.size());
|
||||
}
|
||||
|
||||
for(String key: keys){
|
||||
qianwenGroup.remove(key);
|
||||
}
|
||||
@ -85,6 +97,10 @@ public class TongYiXinChenService implements ITongYi{
|
||||
log.info("定时清理内存中数据异常{}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@PreDestroy
|
||||
public void stopRunClean(){
|
||||
runClean = false;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user