mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-04-05 07:16:22 +00:00
Fix closing issues
This commit is contained in:
@@ -21,6 +21,7 @@ package com.volmit.iris.util.parallel;
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.core.IrisSettings;
|
||||
import com.volmit.iris.util.collection.KList;
|
||||
import com.volmit.iris.util.io.InstanceState;
|
||||
import com.volmit.iris.util.math.M;
|
||||
import com.volmit.iris.util.scheduling.J;
|
||||
import com.volmit.iris.util.scheduling.Looper;
|
||||
@@ -38,6 +39,7 @@ public class MultiBurst {
|
||||
private final String name;
|
||||
private final int tc;
|
||||
private final int priority;
|
||||
private final int instance;
|
||||
|
||||
public MultiBurst(int tc) {
|
||||
this("Iris", 6, tc);
|
||||
@@ -47,17 +49,24 @@ public class MultiBurst {
|
||||
this.name = name;
|
||||
this.priority = priority;
|
||||
this.tc = tc;
|
||||
instance = InstanceState.getInstanceId();
|
||||
last = new AtomicLong(M.ms());
|
||||
heartbeat = new Looper() {
|
||||
@Override
|
||||
protected long loop() {
|
||||
if(instance != InstanceState.getInstanceId())
|
||||
{
|
||||
shutdownNow();
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (M.ms() - last.get() > TimeUnit.MINUTES.toMillis(1) && service != null) {
|
||||
service.shutdown();
|
||||
service = null;
|
||||
Iris.debug("Shutting down MultiBurst Pool " + getName() + " to conserve resources.");
|
||||
}
|
||||
|
||||
return 60000;
|
||||
return 30000;
|
||||
}
|
||||
};
|
||||
heartbeat.setName(name + " Monitor");
|
||||
|
||||
Reference in New Issue
Block a user