From 904ff4cccfdf18915b71ba762fbd3838fe5a70e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=BD=87=E6=B4=92?= <jundi.mjd@antfin.com>
Date: Tue, 16 Jul 2019 14:49:24 +0800
Subject: [PATCH] add limit

---
 .../java/com/aliware/tianchi/CallbackListenerImpl.java   | 2 ++
 .../main/java/com/aliware/tianchi/TestClientFilter.java  | 2 ++
 .../java/com/aliware/tianchi/CallbackServiceImpl.java    | 5 ++---
 .../java/com/aliware/tianchi/TestRequestLimiter.java     | 9 ++++++++-
 4 files changed, 14 insertions(+), 4 deletions(-)

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 6fed3ef..bf0a88d 100644
--- a/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java
+++ b/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java
@@ -39,6 +39,8 @@ public class CallbackListenerImpl implements CallbackListener {
             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;
+            //System.out.println( UserLoadBalance.weight_large +"  "+ UserLoadBalance.weight_medium+"  "+ UserLoadBalance.weight_small);
+            mask = 0x0;
         }
     }
 
diff --git a/workspace-gateway/src/main/java/com/aliware/tianchi/TestClientFilter.java b/workspace-gateway/src/main/java/com/aliware/tianchi/TestClientFilter.java
index b3e14a7..cdac4c6 100644
--- a/workspace-gateway/src/main/java/com/aliware/tianchi/TestClientFilter.java
+++ b/workspace-gateway/src/main/java/com/aliware/tianchi/TestClientFilter.java
@@ -20,7 +20,9 @@ public class TestClientFilter implements Filter {
     @Override
     public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
         try{
+
             Result result = invoker.invoke(invocation);
+
             return result;
         }catch (Exception e){
             throw e;
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 796eff8..e54b5ab 100644
--- a/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java
+++ b/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java
@@ -26,7 +26,7 @@ public class CallbackServiceImpl implements CallbackService {
             @Override
             public void run() {
                 if (!listeners.isEmpty()) {
-                    //String messageToPush = generateStatusMessage();
+                    //System.out.println("Server push " +generateStatusMessage() + "   Mem="+Runtime.getRuntime().freeMemory());
                     for (Map.Entry<String, CallbackListener> entry : listeners.entrySet()) {
                         try {
                             //entry.getValue().receiveServerMsg(System.getProperty("quota") + " " + new Date().toString());
@@ -37,7 +37,7 @@ public class CallbackServiceImpl implements CallbackService {
                     }
                 }
             }
-        }, 0, 2000);
+        }, 0, 5000);
     }
 
     private Timer timer = new Timer();
@@ -46,7 +46,6 @@ public class CallbackServiceImpl implements CallbackService {
         try {
             List<String> cpuLoadList = getProcessCpuLoad().stream().map(Object::toString).collect(Collectors.toList());
             String cpuLoadString = String.join(",", cpuLoadList);
-            System.out.println("Server push " + cpuLoadString);
             return "cpu=" + cpuLoadString;
         }
         catch(Exception ex) {
diff --git a/workspace-provider/src/main/java/com/aliware/tianchi/TestRequestLimiter.java b/workspace-provider/src/main/java/com/aliware/tianchi/TestRequestLimiter.java
index cb5312b..1117dd5 100644
--- a/workspace-provider/src/main/java/com/aliware/tianchi/TestRequestLimiter.java
+++ b/workspace-provider/src/main/java/com/aliware/tianchi/TestRequestLimiter.java
@@ -20,7 +20,14 @@ public class TestRequestLimiter implements RequestLimiter {
      */
     @Override
     public boolean tryAcquire(Request request, int activeTaskCount) {
-        //if (activeTaskCount > 188) return false;
+        //
+        if("small".equals(System.getProperty("quota"))){
+            if (activeTaskCount > 195) return false;
+        } else if("medium".equals(System.getProperty("quota"))){
+            if (activeTaskCount > 445) return false;
+        } else if("large".equals(System.getProperty("quota"))){
+            if (activeTaskCount > 645) return false;
+        }
         return true;
     }
 
-- 
GitLab