def atlas_get_live_neighbors( remote_peer_hostport, peer_table=None, min_health=MIN_PEER_HEALTH, min_request_count=1 ):
    """
    Get a random set of live neighbors
    (i.e. neighbors we've contacted before)
    """

    with AtlasPeerTableLocked(peer_table) as ptbl:
        alive_peers = []
        for peer_hostport in ptbl.keys():
            if peer_hostport == remote_peer_hostport:
                continue

            num_reqs = atlas_peer_get_request_count( peer_hostport, peer_table=ptbl )
            if num_reqs < min_request_count:
                continue

            health = atlas_peer_get_health( peer_hostport, peer_table=ptbl )
            if health < min_health:
                continue

            alive_peers.append( peer_hostport )

    random.shuffle(alive_peers)
    return alive_peers
Get a random set of live neighbors
    (i.e. neighbors we've contacted before)