    def __getNextValidProxy(self):
        '''
        @brief: 刷新本地缓存列表，如果服务下线了，要求删除本地缓存
        @return:
        @rtype: EndPointInfo列表
        @todo: 优化负载均衡算法
        '''
        tarsLogger.debug('AdapterProxyManager:getNextValidProxy')
        lock = LockGuard(self.__newLock)
        if len(self.__adps) == 0:
            raise TarsException("the activate adapter proxy is empty")

        sortedActivateAdp = sorted(
            list(self.__adps.items()), key=lambda item: item[1][2])
        # self.refreshEndpoints()
        # self.__lock.acquire()
        sortedActivateAdpSize = len(sortedActivateAdp)

        while sortedActivateAdpSize != 0:
            if sortedActivateAdp[0][1][1].checkActive():
                self.__adps[sortedActivateAdp[0][0]][2] += 1
                # 返回的是 adapterProxy
                return self.__adps[sortedActivateAdp[0][0]][1]
            sortedActivateAdp.pop(0)
            sortedActivateAdpSize -= 1
        # 随机重连一个可用节点
        adpPrx = list(self.__adps.items())[random.randint(
            0, len(self.__adps))][1][1]
        adpPrx.checkActive()
        return None
@brief: 刷新本地缓存列表，如果服务下线了，要求删除本地缓存
@return:
@rtype: EndPointInfo列表
@todo: 优化负载均衡算法
biliup/Danmaku/tars/__adapterproxy.py