コード例 #1
0
        private int monitoringInterval = 5000; // Monitoring interval 5 sec

        public void MonitorRequestQueue()
        {
            Log.Info(this, "Scaling Manager started");
            while (Thread.CurrentThread.IsAlive)
            {
                LbGetRequestQueueResponse response = null;
                try
                {
                    Log.Info(this, "Checking request queue status...");
                    LbGetRequestQueueRequest request = new LbGetRequestQueueRequest(Settings.Credentials);
                    response = EndPoints.GetLbApplicationGridService().GetRequestQueue(request);
                }
                catch (Exception e)
                {
                    Log.Error(this, e);
                }

                try
                {
                    if (response != null)
                    {
                        ScaleApplications(response.RequestQueue);
                    }
                    Thread.Sleep(monitoringInterval);
                }
                catch (Exception e)
                {
                    Log.Error(this, e);
                }
            }
            Log.Info(this, "Scaling Manager stopped");
        }
コード例 #2
0
 public ActionResult RequestHistory()
 {
     try
     {
         LbGetRequestQueueRequest request = new LbGetRequestQueueRequest(Settings.Credentials);
         request.RequestType = RequestType.AllRequests;
         LbGetRequestQueueResponse response = EndPoints.LbDashboardService.GetRequestQueue(request);
         var list = new List <ApplicationHttpRequest>();
         if (response.RequestQueue != null)
         {
             list.AddRange(response.RequestQueue);
         }
         return(View(list));
     }
     catch (Exception e)
     {
         return(ShowError(e));
     }
 }
コード例 #3
0
        public LbGetRequestQueueResponse GetRequestQueue(LbGetRequestQueueRequest request)
        {
            try
            {
                Log.Debug(this, "GetRequestQueue()");

                Authenticate(request);
                LbGetRequestQueueResponse response = new LbGetRequestQueueResponse();
                if (request.RequestType == RequestType.RequestQueue)
                {
                    response.RequestQueue = Database.GetInstance().RequestQueue;
                }
                else if (request.RequestType == RequestType.AllRequests)
                {
                    response.RequestQueue = Database.GetInstance().RequestQueueHistory;
                }
                return(response);
            }
            catch (Exception e)
            {
                Log.Error(this, e);
                throw e;
            }
        }
コード例 #4
0
        public LbGetRequestQueueResponse GetRequestQueue(LbGetRequestQueueRequest request)
        {
            try
            {
                Log.Debug(this, "GetRequestQueue()");

                Authenticate(request);
                LbGetRequestQueueResponse response = new LbGetRequestQueueResponse();
                if (request.RequestType == RequestType.RequestQueue)
                    response.RequestQueue = Database.GetInstance().RequestQueue;
                else if (request.RequestType == RequestType.AllRequests)
                    response.RequestQueue = Database.GetInstance().RequestQueueHistory;
                return response;
            }
            catch (Exception e)
            {
                Log.Error(this, e);
                throw e;
            }
        }