def cleanup(self): self.logger.info('Starting to clean up old Nuclide processes/files.') # TODO: Remove it after migration is complete. # For migration, stop the forever monitor processes of Nuclide server. # This does not stop existing Nuclide server processes themselves. # It just removes the monitor so that we can kill them on upgrade. for proc in ProcessInfo.get_processes( getpass.getuser(), '%s.*%s' % (re.escape('forever/bin/monitor'), re.escape('nuclide-main.js'))): self.logger.info('Stopping forever monitor process: %s' % proc) proc.stop() # Clean up multiple Nuclide processes on same port. # There should be no more than one on a given port. # TODO: log the error to analytics db. # { port1 => [proc1, proc2, ...], ...} server_proc_map = defaultdict(list) # Group the processes by port. for proc in NuclideServer.get_processes(): port = int(proc.get_command_param('port')) server_proc_map[port].append(proc) for port in server_proc_map: if len(server_proc_map[port]) > 1: self.logger.warning( 'Multiple Nuclide processes on port %d. Something wrong. Clean them up...' % port) for proc in server_proc_map[port]: proc.stop() self.cleanup_certificates(CERTS_EXPIRATION_DAYS) self.logger.info('Finished cleaning up old Nuclide processes/files.')
def cleanup(self): # TODO: Remove it after migration is complete. # For migration, stop the forever monitor processes of Nuclide server. # This does not stop existing Nuclide server processes themselves. # It just removes the monitor so that we can kill them on upgrade. for proc in ProcessInfo.get_processes( getpass.getuser(), "%s.*%s" % (re.escape("forever/bin/monitor"), re.escape("nuclide-main.js")) ): print("Stopping %s" % proc, file=sys.stderr) proc.stop() # Clean up multiple Nuclide processes on same port. # There should be no more than one on a given port. # TODO: log the error to analytics db. # { port1 => [proc1, proc2, ...], ...} server_proc_map = defaultdict(list) # Group the processes by port. for proc in NuclideServer.get_processes(): port = int(proc.get_command_param("port")) server_proc_map[port].append(proc) for port in server_proc_map: if len(server_proc_map[port]) > 1: print( "Multiple Nuclide processes on port %d. Something wrong. Clean them up..." % port, file=sys.stderr ) for proc in server_proc_map[port]: proc.stop() self.cleanup_certificates(CERTS_EXPIRATION_DAYS)
def list_servers(user=getpass.getuser(), port_filter=[]): servers = [] for proc in NuclideServer.get_processes(user): port = int(proc.get_command_param('port')) if not port_filter or port in port_filter: server = NuclideServer(port, proc=proc) servers.append(server) return servers
def cleanup(self): self.logger.info("Starting to clean up old Nuclide processes/files.") # Clean up multiple Nuclide processes on same port. # There should be no more than one on a given port. # TODO: log the error to analytics db. # { port1 => [proc1, proc2, ...], ...} server_proc_map = defaultdict(list) # Group the processes by port. for proc in NuclideServer.get_processes(): port = int(proc.get_command_param("port")) server_proc_map[port].append(proc) for port in server_proc_map: if len(server_proc_map[port]) > 1: self.logger.warning("Multiple Nuclide processes on port %d. Something wrong. Clean them up..." % port) for proc in server_proc_map[port]: proc.stop() self.cleanup_certificates(CERTS_EXPIRATION_DAYS) self.logger.info("Finished cleaning up old Nuclide processes/files.")
def cleanup(self): self.logger.info('Starting to clean up old Nuclide processes/files.') # Clean up multiple Nuclide processes on same port. # There should be no more than one on a given port. # TODO: log the error to analytics db. # { port1 => [proc1, proc2, ...], ...} server_proc_map = defaultdict(list) # Group the processes by port. for proc in NuclideServer.get_processes(): port = int(proc.get_command_param('port')) server_proc_map[port].append(proc) for port in server_proc_map: if len(server_proc_map[port]) > 1: self.logger.warning( 'Multiple Nuclide processes on port %d. Something wrong. Clean them up...' % port) for proc in server_proc_map[port]: proc.stop() self.cleanup_certificates(CERTS_EXPIRATION_DAYS) self.logger.info('Finished cleaning up old Nuclide processes/files.')