任务相关

This commit is contained in:
李玉东 2025-09-18 11:31:16 +08:00
parent 76371d641c
commit 5bb5ea1aa5

View File

@ -10,6 +10,7 @@ import com.hivekion.scenario.bean.ScenarioWsParam;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.NavigableMap; import java.util.NavigableMap;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentNavigableMap; import java.util.concurrent.ConcurrentNavigableMap;
@ -125,16 +126,19 @@ public class Room implements AutoCloseable {
sendRemainTime((totalTime.get() - curTime)); sendRemainTime((totalTime.get() - curTime));
Map<String, TaskAction> actions = actionMap.ceilingEntry(curTime); NavigableMap<Long, Map<String, TaskAction>> actions = actionMap.headMap(curTime, true);
if (actions != null && !actions.isEmpty()) { if (!actions.isEmpty() ) {
actions.forEach((key, action) -> {
action.forEach((taskAction, task) -> {
actionExecutor.submit(task::doSomeThing);
});
});
for (Map.Entry<String, TaskAction> entry : actions.entrySet()) {
actionExecutor.submit(entry.getValue()::doSomeThing);
}
// 全部执行后再清空 // 全部执行后再清空
actions.clear();
actionMap.remove(curTime);
actions.clear();
} }
}, 0, 1, TimeUnit.SECONDS); }, 0, 1, TimeUnit.SECONDS);
} }