def get_proxies(): """ 连接API获取付费的代理IP :return: 代理IP """ # 鹏鹏代理池的接口 # 发送请求获取响应 pm = ProxyManager() return pm.refresh()
def siteWorker(site, priorities, objects, proxies, tries): ti = ObjectStringIterator(objects, priorities) pm = ProxyManager(proxies) for i in range(0, tries): proxy = pm.get() if proxy is None: break obj, task = ti.next() # print(site, task, proxy) print(task + ' -> ' + proxy['ip'] + ' => ' + site['domain']) # print(task) pm.release(proxy)
def __init__(self, config=None): self.config = config self.invoker = InvocationService(self) self.connection_manager = ConnectionManager(self, self.invoker.handle_client_message) self.cluster = ClusterService(config, self) self.partition_service = PartitionService(self) self.proxy = ProxyManager(self) self.load_balancer = RandomLoadBalancer(self.cluster) self.serializer = SerializationService(self) self.cluster.start() self.partition_service.start() self.logger.info("Client started.")
async def main(): parser = argparse.ArgumentParser() parser.add_argument('--config-file', '-c', type=str, default='./config.json') args = parser.parse_args() config_file = args.config_file if not os.path.isfile(config_file): raise Exception(f'File "{config_file} not fount"') with open(args.config_file, 'r', encoding='utf-8') as f: config_data = json.load(f) # creating bots from config bots = [ CoinBot(config_data['api_id'], config_data['api_hash'], config_data['chat_names'], cfg['phone'], cfg['password']) for cfg in config_data['clients'] ] proxy_manager = ProxyManager('https://api.telegram.org') while True: run_tasks = [] print('run init bots') for bot in bots: proxy = await proxy_manager.get_proxy() await bot.client_init(proxy) run_tasks.append(bot.run()) try: # runing all bots print('run all bots') await asyncio.gather(*run_tasks) except Exception as e: print(traceback_msg(e)) await asyncio.sleep(60)
class HazelcastClient(object): logger = logging.getLogger("HazelcastClient") _config = None def __init__(self, config=None): self.config = config self.invoker = InvocationService(self) self.connection_manager = ConnectionManager(self, self.invoker.handle_client_message) self.cluster = ClusterService(config, self) self.partition_service = PartitionService(self) self.proxy = ProxyManager(self) self.load_balancer = RandomLoadBalancer(self.cluster) self.serializer = SerializationService(self) self.cluster.start() self.partition_service.start() self.logger.info("Client started.") def get_map(self, name): return self.proxy.get_or_create(MAP_SERVICE, name)