Exemple #1
0
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)