Esempio n. 1
0
    def _get_model(self, host_port):
        """
        获取NewRequestModel实例,不存在则创建并缓存

        Parameters:
            host_port - host + "_" + str(port) 组成的字符串, 指定获取的表名

        Returns:
            获取到的NewRequestModel实例
        """
        now_time = time.time()
        if host_port not in self.models or self.models[host_port][1] < now_time:
            self.models[host_port] = [
                new_request_model.NewRequestModel(host_port,
                                                  multiplexing_conn=False),
                time.time() + 60
            ]
            del_host = []
            for host, model in self.models.items():
                if model[1] < now_time:
                    del_host.append(host)

            for host in del_host:
                del self.models[host]

            if host_port not in self.known_hosts:
                self.known_hosts[host_port] = None
                self._start_scanner(host_port)

        return self.models[host_port][0]
Esempio n. 2
0
    def _get_model(self, host_port):
        """
        获取NewRequestModel实例,不存在则创建并缓存

        Parameters:
            host_port - host + "_" + str(port) 组成的字符串, 指定获取的表名

        Returns:
            获取到的NewRequestModel实例
        """
        now_time = time.time()
        if host_port not in self.models or self.models[host_port][1] < now_time:

            del_host = []
            for host_port_item, model in self.models.items():
                if model[1] < now_time:
                    del_host.append(host_port_item)

            for host_port_item in del_host:
                del self.models[host_port_item]
                self.dedup_lru.clean_lru(host_port_item)

            self.models[host_port] = [
                new_request_model.NewRequestModel(host_port, multiplexing_conn=False),
                time.time() + 180
            ]

        return self.models[host_port][0]
Esempio n. 3
0
    def _get_model(self, host_port):
        """
        获取NewRequestModel实例,不存在则创建并缓存

        Parameters:
            host_port - host + "_" + str(port) 组成的字符串, 指定获取的表名

        Returns:
            获取到的NewRequestModel实例
        """
        if host_port not in self.models:
            self.models[host_port] = new_request_model.NewRequestModel(
                host_port)
            self._start_scanner(host_port)
        return self.models[host_port]