예제 #1
0
        public LbAddRequestToQueueResponse AddRequestToQueue(LbAddRequestToQueueRequest request)
        {
            try
            {
                Log.Debug(this, "AddRequestToQueue()");

                Authenticate(request);
                LbAddRequestToQueueResponse response = new LbAddRequestToQueueResponse();
                if (request.ApplicationRequest != null)
                {
                    request.ApplicationRequest.Id = FindNextRequestId();
                    Database.GetInstance().RequestQueue.Add(request.ApplicationRequest);
                    Database.GetInstance().RequestQueueHistory.Add(request.ApplicationRequest);
                    response.RequestId = request.ApplicationRequest.Id;
                    response.Added = true;

                    IncrementRequestCount(request.ApplicationRequest.NodeId, request.ApplicationRequest.ApplicationId, request.ApplicationRequest.InstanceId);
                    Log.Debug(this, "Added request to queue: " + request.ApplicationRequest.Url);
                }
                return response;
            }
            catch (Exception e)
            {
                Log.Error(this, e);
                throw e;
            }
        }
예제 #2
0
        public LbAddRequestToQueueResponse AddRequestToQueue(LbAddRequestToQueueRequest request)
        {
            try
            {
                Log.Debug(this, "AddRequestToQueue()");

                Authenticate(request);
                LbAddRequestToQueueResponse response = new LbAddRequestToQueueResponse();
                if (request.ApplicationRequest != null)
                {
                    request.ApplicationRequest.Id = FindNextRequestId();
                    Database.GetInstance().RequestQueue.Add(request.ApplicationRequest);
                    Database.GetInstance().RequestQueueHistory.Add(request.ApplicationRequest);
                    response.RequestId = request.ApplicationRequest.Id;
                    response.Added     = true;

                    IncrementRequestCount(request.ApplicationRequest.NodeId, request.ApplicationRequest.ApplicationId, request.ApplicationRequest.InstanceId);
                    Log.Debug(this, "Added request to queue: " + request.ApplicationRequest.Url);
                }
                return(response);
            }
            catch (Exception e)
            {
                Log.Error(this, e);
                throw e;
            }
        }
예제 #3
0
 private int AddRequestToQueue(HttpContext context, int nodeId, int applicationId, int instanceId, int tenantId)
 {
     try
     {
         LbAddRequestToQueueRequest request = new LbAddRequestToQueueRequest(Settings.Credentials);
         request.ApplicationRequest = LoadBalancerControllerUtil.ConvertRequest(context.Request, nodeId, applicationId, instanceId, tenantId);
         LbAddRequestToQueueResponse response = EndPoints.LoadBalancerWebService.AddRequestToQueue(request);
         return(response.RequestId);
     }
     catch (Exception e)
     {
         Log.Error(this, "AddRequestToQueue() failed: ", e);
         return(-1);
     }
 }
예제 #4
0
 private int AddRequestToQueue(HttpContext context, int nodeId, int applicationId, int instanceId, int tenantId)
 {
     try
     {
         LbAddRequestToQueueRequest request = new LbAddRequestToQueueRequest(Settings.Credentials);
         request.ApplicationRequest = LoadBalancerControllerUtil.ConvertRequest(context.Request, nodeId, applicationId, instanceId, tenantId);
         LbAddRequestToQueueResponse response = EndPoints.LoadBalancerWebService.AddRequestToQueue(request);
         return response.RequestId;
     }
     catch (Exception e)
     {
         Log.Error(this, "AddRequestToQueue() failed: ", e);
         return -1;
     }
 }