任务相关
This commit is contained in:
parent
76371d641c
commit
5bb5ea1aa5
|
@ -10,6 +10,7 @@ import com.hivekion.scenario.bean.ScenarioWsParam;
|
|||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.NavigableMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentNavigableMap;
|
||||
|
@ -125,16 +126,19 @@ public class Room implements AutoCloseable {
|
|||
|
||||
sendRemainTime((totalTime.get() - curTime));
|
||||
|
||||
Map<String, TaskAction> actions = actionMap.ceilingEntry(curTime);
|
||||
if (actions != null && !actions.isEmpty()) {
|
||||
NavigableMap<Long, Map<String, TaskAction>> actions = actionMap.headMap(curTime, true);
|
||||
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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user