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"); }
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)); } }
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; } }
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; } }