diff --git a/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java b/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java index c8ae4cae85b7e61a702c7505fde27bd3ed97abba..6fed3ef7d5284e277b1c6f6529778a17420bae39 100644 --- a/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java +++ b/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java @@ -14,22 +14,32 @@ public class CallbackListenerImpl implements CallbackListener { static long memory_large = 3; static long memory_medium = 2; static long memory_small = 1; + static short mask = 0; @Override public void receiveServerMsg(String msg) { //System.out.println("receive msg from server :" + msg); String[] rcvmsglist = msg.split(","); - if (rcvmsglist[0].equals("small")) memory_small = Long.parseLong(rcvmsglist[1]); - else if (rcvmsglist[0].equals("medium")) memory_medium = Long.parseLong(rcvmsglist[1]); - else memory_large = Long.parseLong(rcvmsglist[1]); - - long memory_sum = memory_large + memory_medium + memory_small; - - //System.out.println(msg + " : " + memory_large + ',' + memory_medium + ',' + memory_small + " | " + memory_sum); - - UserLoadBalance.weight_large = 6.0 * memory_large / memory_sum; - UserLoadBalance.weight_medium = 6.0 * memory_medium / memory_sum; - UserLoadBalance.weight_small = 6.0 * memory_small / memory_sum; + if (rcvmsglist[0].equals("small")) { + memory_small = Long.parseLong(rcvmsglist[1]); + mask |= 0x001; + } + else if (rcvmsglist[0].equals("medium")) { + memory_medium = Long.parseLong(rcvmsglist[1]); + mask |= 0x010; + } + else { + memory_large = Long.parseLong(rcvmsglist[1]); + mask |= 0x100; + } + + if (mask == 0x111) { + long memory_sum = memory_large + memory_medium + memory_small; + //System.out.println(msg + " : " + memory_large + ',' + memory_medium + ',' + memory_small + " | " + memory_sum); + UserLoadBalance.weight_large = 6.0 * memory_large / memory_sum; + UserLoadBalance.weight_medium = 6.0 * memory_medium / memory_sum; + UserLoadBalance.weight_small = 6.0 * memory_small / memory_sum; + } } private String cachedServerCpu; diff --git a/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java b/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java index 9796d597e00968718df0e86c93d1ec0ae6e2e87d..3c9299223721ec32158f3f79fcfe1b544b52647a 100644 --- a/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java +++ b/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java @@ -37,7 +37,7 @@ public class CallbackServiceImpl implements CallbackService { } } } - }, 0, 5000); + }, 0, 1000); } private Timer timer = new Timer();