geforkt von SteamWar/BungeeCore
Auto core count detection
Signed-off-by: Lixfel <agga-games@gmx.de>
Dieser Commit ist enthalten in:
Ursprung
85fe4ba264
Commit
d73c0ea7ea
@ -90,8 +90,8 @@ public class BungeeCore extends Plugin {
|
|||||||
new BrandListener();
|
new BrandListener();
|
||||||
|
|
||||||
new Node.LocalNode();
|
new Node.LocalNode();
|
||||||
new Node.RemoteNode("lx", 8);
|
new Node.RemoteNode("lx");
|
||||||
new Node.RemoteNode("az", 10);
|
new Node.RemoteNode("az");
|
||||||
|
|
||||||
commands.put("/tp", null);
|
commands.put("/tp", null);
|
||||||
commands.put("/bc", null);
|
commands.put("/bc", null);
|
||||||
|
@ -171,10 +171,34 @@ public abstract class Node {
|
|||||||
private final int cores;
|
private final int cores;
|
||||||
private final String remote;
|
private final String remote;
|
||||||
|
|
||||||
public RemoteNode(String remote, int cores) {
|
public RemoteNode(String remote) {
|
||||||
super();
|
super();
|
||||||
this.cores = cores;
|
|
||||||
this.remote = remote;
|
this.remote = remote;
|
||||||
|
|
||||||
|
//Determin core count
|
||||||
|
Process process;
|
||||||
|
try {
|
||||||
|
process = new ProcessBuilder("ssh", remote, "nproc").start();
|
||||||
|
if(!process.waitFor(5, TimeUnit.SECONDS))
|
||||||
|
throw new IOException("Timeout of " + remote + " on init");
|
||||||
|
} catch (IOException e) {
|
||||||
|
BungeeCore.get().getLogger().log(Level.SEVERE, "Could not initialize " + remote);
|
||||||
|
cores = 1;
|
||||||
|
return;
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
cores = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int c;
|
||||||
|
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
|
||||||
|
c = Integer.parseInt(bufferedReader.readLine());
|
||||||
|
} catch (IOException e) {
|
||||||
|
BungeeCore.get().getLogger().log(Level.SEVERE, "Could not read cores of" + remote, e);
|
||||||
|
c = 1;
|
||||||
|
}
|
||||||
|
cores = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren