def saveProxies(self): #创建线程30个,并开启线程 threadPool = ThreadPool(30) threadPool.startThreads() #调用类 读取数据 #databases = database.DatabaseProxyIp() proxyip = self.proxyip_db.readData() #x循环读取数据进行匹配 for proxy in proxyip: #把测试函数放入线程中 threadPool.putTask(self.checkclientUrl, proxy[0]) #threadPool.putTask(self.checkProxy, proxy[0]) #flag,proxy = checkProxy(proxy[0]) #循环获取测试结果,成功写入数据库,失败修改available为0 ip_fail = 0 ip_ok = 0 ip_lock = 0 while threadPool.getTaskLeft(): flag, proxy = threadPool.getTaskResult() print flag, proxy if flag == 'ok': #print 'ok ', proxy self.proxyip_db.updateData(1, proxy) ip_ok = ip_ok + 1 elif flag == 'lock': self.proxyip_db.updateData(0, proxy) ip_lock = ip_lock + 1 else: self.proxyip_db.delData(proxy) ip_fail = ip_fail + 1 print '====> available ip: ', ip_ok, ' , lock ip: ', ip_lock, ' , fail ip: ', ip_fail, ' <====' threadPool.stopThreads()
def saveProxies(): threadPool = ThreadPool(30) threadPool.startThreads() proxyFileOK = open('proxyOK.txt', 'a') proxyFileFail = open('proxyFail.txt', 'a') for proxy in proxiex: threadPool.putTask(checkProxy, proxy) while threadPool.getTaskLeft(): flag, proxy = threadPool.getTaskResult() print flag, proxy if flag == 'ok': proxyFileOK.write(proxy) proxyFileOK.write('\n') else: proxyFileFail.write(proxy) proxyFileFail.write('\n') threadPool.stopThreads() proxyFileOK.close() proxyFileFail.close()
def saveProxies(): threadPool = ThreadPool(30) threadPool.startThreads() proxyFileOK = open('proxyOK.txt','a') proxyFileFail = open('proxyFail.txt','a') for proxy in proxiex: threadPool.putTask(checkProxy, proxy) while threadPool.getTaskLeft(): flag, proxy = threadPool.getTaskResult() print flag, proxy if flag == 'ok': proxyFileOK.write(proxy) proxyFileOK.write('\n') else: proxyFileFail.write(proxy) proxyFileFail.write('\n') threadPool.stopThreads() proxyFileOK.close() proxyFileFail.close()