def update_server(self, addr): ping = MasterServer.pingServer(addr) if not ping: if addr in self.server_info: if 'new' not in self.server_info[addr]: self.callback_server_close(addr) del(self.server_info[addr]) return False details = MasterServer.getServerDetails(addr) if not details: if addr in self.server_info: if 'new' not in self.server_info[addr]: self.callback_server_close(addr) del(self.server_info[addr]) return False for key, val in ping.items() + details.items(): if key in self.server_info[addr]: oldval = self.server_info[addr][key] if oldval != val: self.callback_detail_change(addr, key, oldval, val) self.server_info[addr][key] = val if 'new' in self.server_info[addr].keys(): self.callback_new_server(addr) del(self.server_info[addr]['new']) return self.server_info[addr]
def update_server(self, addr): ping = MasterServer.pingServer(addr) if not ping: if addr in self.server_info: if 'new' not in self.server_info[addr]: self.callback_server_close(addr) del (self.server_info[addr]) return False details = MasterServer.getServerDetails(addr) if not details: if addr in self.server_info: if 'new' not in self.server_info[addr]: self.callback_server_close(addr) del (self.server_info[addr]) return False for key, val in ping.items() + details.items(): if key in self.server_info[addr]: oldval = self.server_info[addr][key] if oldval != val: self.callback_detail_change(addr, key, oldval, val) self.server_info[addr][key] = val if 'new' in self.server_info[addr].keys(): self.callback_new_server(addr) del (self.server_info[addr]['new']) return self.server_info[addr]
def update_server_list(self): server_list = MasterServer.getServerList() if not server_list: # Master server didn't answer return None for addr in server_list: if addr not in self.server_info: self.server_info[addr] = dict() # new server self.server_info[addr]['new'] = True for addr in self.server_info.keys(): self.update_server(addr)
ip = request.remote_addr docs = masterServer.process("ADD", { "url": url, "text": text, "email": email, "pwd": pwd }, ip) if docs != "SERVER_DOWN": if docs == "NO_USER_FOUND": return "NO_USER_FOUND" elif docs == "SUCCESSFULLY_ADDED": return "SUCCESSFULLY_ADDED" else: return "SERVER_DOWN" if __name__ == "__main__": masterServer = MasterServer() s = SlaveServerSetup(masterServer) s.start() configObject = configparser.ConfigParser() thisfolder = os.path.dirname(os.path.abspath(__file__)) path = os.path.join(thisfolder, 'conf.ini') configObject.read(path) flaskServerIp = configObject.get('configuration', 'master-server-ip') flaskServerPort = int( configObject.get('configuration', 'flask-server-port')) app.run(host=flaskServerIp, port=flaskServerPort, debug=False)