MCPcopy Index your code
hub / github.com/Boris-code/feapder / get_random_proxy

Method get_random_proxy

feapder/network/proxy_pool_old.py:543–565  ·  view source on GitHub ↗

随机获取代理 :return:

(self)

Source from the content-addressed store, hash-verified

541 get_proxy = get
542
543 def get_random_proxy(self) -> ProxyItem:
544 """
545 随机获取代理
546 :return:
547 """
548 if self.proxy_queue is not None:
549 if random.random() < 0.5:
550 # 一半概率检查 这是个高频操作 优化一下
551 if time.time() - self.last_reset_time > self.reset_interval_max:
552 self.reset_proxy_pool(force=True)
553 else:
554 min_q_size = (
555 min(self.max_queue_size / 2, self.real_max_proxy_count / 2)
556 if self.max_queue_size > 0
557 else self.real_max_proxy_count / 2
558 )
559 if self.proxy_queue.qsize() < min_q_size:
560 self.reset_proxy_pool()
561 try:
562 return self.proxy_queue.get_nowait()
563 except Exception:
564 pass
565 return None
566
567 def append_proxies(self, proxies_list: list) -> int:
568 """

Callers 1

getMethod · 0.95

Calls 1

reset_proxy_poolMethod · 0.95

Tested by

no test coverage detected