Commit d98a5bf6 authored by Tong Li's avatar Tong Li

设备日历缓存

parent a6a8f36f
......@@ -623,7 +623,7 @@ public class RoutingDataService {
// 4. 初始化机器时间线
for (Machine machine : machines) {
MachineTimeline timeline = machineScheduler.getOrCreateTimeline(machine);
MachineTimeline timeline = machineScheduler.getOrCreateTimeline(machine,false);
machine.setAvailability(timeline.getSegments());
}
......
......@@ -37,12 +37,12 @@ public class MachineSchedulerService {
public void ClearMachineCache(long machineId) {
timelineCache.remove(machineId);
}
public MachineTimeline getOrCreateTimeline(Machine machine) {
public MachineTimeline getOrCreateTimeline(Machine machine,boolean isCache) {
long machineId = machine.getId();
// 尝试从缓存获取
MachineTimeline timeline = timelineCache.get(machineId);
if (timeline != null) {
if (timeline != null&&isCache) {
// 检查有效期(4小时刷新)
if (Duration.between(timeline.getLastUpdated(), LocalDateTime.now()).toMinutes() < 10) {
return timeline;
......@@ -56,6 +56,9 @@ public class MachineSchedulerService {
timelineCache.put(machineId, newTimeline);
return newTimeline;
}
public MachineTimeline getOrCreateTimeline(Machine machine) {
return getOrCreateTimeline(machine,true);
}
private MachineTimeline generateTimeline(Machine machine) {
MachineTimeline timeline = new MachineTimeline();
......
......@@ -37,7 +37,7 @@ public class PlanResultServiceTest {
// NSGAIIUtils nsgaiiUtils=new NSGAIIUtils();
// nsgaiiUtils.Test();
planResultService.execute2("FCB16D2535F24078BAD79729894C38D1");
planResultService.execute2("0DCB1301C57C48B68154789B0FAB8B98");
// planResultService.execute2("726D4C1A712B4B1393175BD44B775B66");
// planResultService.execute2("265F24B6DF3C40E4B17D193B0CC8AAF2");
// LocalDateTime t= LocalDateTime.of(2026, 02, 14, 1, 25, 52);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment