def run(): global host config.populate() node_id = config.get_node_id() node_details = config.get_node_details(node_id) logger.info("Connecting to host {} on port {}".format( node_details[0], node_details[1])) c = Client(node_details[0], node_details[1]) c.updateBloomFilter() leader_node = 0 heart_beat_count = 0 requests.get("http://cmpe275-spring-18.mybluemix.net/delete/" + (config.get_node_details(node_id))[0]) while (True): time.sleep(heartbeat_interval) heart_beat_count += 1 leader = c.getLeaderNode(node_id) if leader_node != leader.id and leader.id == node_id: if leader_node != 0: requests.get("http://cmpe275-spring-18.mybluemix.net/delete/" + config.get_node_details(leader_node)[0]) requests.get("http://cmpe275-spring-18.mybluemix.net/put/" + config.get_node_details(leader.id)[0]) leader_node = leader.id logger.info( "Publish node_id {} to external cluster".format(node_id)) if heart_beat_count * heartbeat_interval == bloom_filter_interval: c.updateBloomFilter()
'SLON': dlineValues[4], 'SELV': dlineValues[5], 'TMPF': dlineValues[6], 'SKNT': dlineValues[7], 'DRCT': dlineValues[8], 'GUST': dlineValues[9], 'PMSL': dlineValues[10], 'ALTI': dlineValues[11], 'DWPF': dlineValues[12], 'RELH': dlineValues[13], 'WTHR': dlineValues[14], 'P24I': dlineValues[15] } jsonChunk.append(json.dumps(dlineJsonValues)) responseChunk = server_pb2.Response( code=1, metaData=server_pb2.MetaData(uuid="", numOfFragment=int( chunk.metaData.numOfFragment)), datFragment=server_pb2.DatFragment( timestamp_utc="", data=str((',').join(jsonChunk)).encode(encoding='utf_8'))) return responseChunk if __name__ == '__main__': config.populate() node_id = config.get_node_id() node_details = config.get_node_details(node_id) space = config.get_space() run(node_details[0], node_details[1], node_id)