public NcStopApplicationResponse StopApplicationInstance(NcStopApplicationRequest request) { Log.Info(this, "StopApplicationInstance()"); try { Application application = Database.Applications.Where(x => x.Id == request.ApplicationId).FirstOrDefault(); if (application != null) { ApplicationInstance instance = application.ApplicationInstances.Where(y => y.Id == request.InstanceId).FirstOrDefault(); if (instance != null) { ProcessManager.KillProcessAndChildren(instance.ProcessId); application.ApplicationInstances.Remove(instance); NcStopApplicationResponse response = new NcStopApplicationResponse(); return(response); } else { throw new MonoscapeException("Application instance not found"); } } else { throw new MonoscapeException("Application not found"); } } catch (Exception e) { Log.Error(this, e); throw e; } }
public NcStopApplicationResponse StopApplicationInstance(NcStopApplicationRequest request) { Log.Info(this, "StopApplicationInstance()"); try { Authenticate(request); var handler = NodeCartridgeFactory.GetHandler(request.ApplicationType); return(handler.StopApplicationInstance(request)); } catch (Exception e) { Log.Error(this, e); throw e; } }
public ApStopApplicationInstanceResponse StopApplicationInstance(ApStopApplicationInstanceRequest request) { Log.Info(this, "StopApplicationInstance()"); try { Authenticate(request); ApStopApplicationInstanceResponse response = new ApStopApplicationInstanceResponse(); Node node = Database.GetInstance().Nodes.Where(x => x.Id == request.NodeId).FirstOrDefault(); if (node != null) { // Stop application instance in the node NcStopApplicationRequest ncRequest = new NcStopApplicationRequest(Credentials); ncRequest.ApplicationId = request.ApplicationId; ncRequest.InstanceId = request.InstanceId; EndPoints.GetNcApplicationGridService(node).StopApplicationInstance(ncRequest); // Update routing mesh in the load balancer LbRemoveApplicationInstanceRequest request_ = new LbRemoveApplicationInstanceRequest(Credentials); request_.NodeId = request.NodeId; request_.ApplicationId = request.ApplicationId; request_.InstanceId = request.InstanceId; EndPoints.GetLbApplicationGridService().RemoveApplicationInstances(request_); } else { throw new MonoscapeException("Node not found"); } return(response); } catch (Exception e) { Log.Error(this, e); throw e; } }
public NcStopApplicationResponse StopApplicationInstance(NcStopApplicationRequest request) { throw new NotImplementedException(); }