def send_heart_beat_package(): infoDB = serviceInfo() trafficDB = serviceTraffic() HB = redisHeartBeatPacket() idfs = infoDB.checkExpiredService() exceed = trafficDB.getExceedTrafficService() # update traffic of all services update_traffic() if idfs["status"] == "success": idfs_info = idfs["info"] for item in idfs_info: revoke(item) HB.updateExpireIdfs(idfs_info) if exceed["status"] == 'success': exceed_info = exceed["info"] for item in exceed_info: revoke(item) HB.updateTrafficExceedIdfs(exceed_info) # send heart_beat package pack_json = HB.generatePakcetContent() if config["CONTROL_SERVER_IP"] != "": #and config["SEND_HEARTBEAT_PACK"] == True: send_socket_request( config["CONTROL_SERVER_IP"], config["CONTROL_SERVER_UDP_PORT"], json.dumps(pack_json), type="UDP" )
def system_init(): lock_file_exists = os.path.exists(get_file_directory()+"/.init.lock") if lock_file_exists == False: init() else: send_pack = { "command": "register_server", "info":{ "listen_port":config["SERVER_LISTEN_PORT"], "location":config["SERVER_LOCATION"], "service_quota":config["SERVICE_QUOTA"] } } # send for i in range(0,3): return_data = send_socket_request( config["CONTROL_SERVER_IP"], config["CONTROL_SERVER_TCP_PORT"], json.dumps(send_pack), type="TCP" ) if return_data["status"] == "success": print("register succeed.") break else: time.sleep(1) # initialize database ssServerDatabase() serviceInfo() # remove the lock os.remove(get_file_directory()+"/.init.lock") init() pass