Skip to content

Commit dbd9fb9

Browse files
committed
prevent asyncio from hanging
1 parent dc944d6 commit dbd9fb9

7 files changed

Lines changed: 8 additions & 7 deletions

File tree

proxybroker/api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def __init__(
6464
stop_broker_on_sigint=True,
6565
**kwargs,
6666
):
67-
self._loop = loop or asyncio.get_event_loop_policy().get_event_loop()
67+
self._loop = loop
6868
self._proxies = queue or asyncio.Queue()
6969
self._resolver = Resolver(loop=self._loop)
7070
self._timeout = timeout

proxybroker/checker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def __init__(
4343
self._strict = strict
4444
self._dnsbl = dnsbl or []
4545
self._types = types or {}
46-
self._loop = loop or asyncio.get_event_loop()
46+
self._loop = loop
4747
self._resolver = Resolver(loop=self._loop)
4848

4949
self._req_http_proto = not types or bool(

proxybroker/cli.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ def cli(args=sys.argv[1:]):
387387
ns.types.remove('HTTP')
388388
ns.types.append(('HTTP', ns.anon_lvl))
389389

390-
loop = asyncio.get_event_loop_policy().get_event_loop()
390+
loop = asyncio.new_event_loop()
391391
proxies = asyncio.Queue()
392392
broker = Broker(
393393
proxies,
@@ -443,6 +443,7 @@ def cli(args=sys.argv[1:]):
443443

444444
try:
445445
if tasks:
446+
asyncio.set_event_loop(loop)
446447
loop.run_until_complete(asyncio.gather(*tasks))
447448
if ns.show_stats:
448449
broker.show_stats(verbose=True)

proxybroker/judge.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def __init__(self, url, timeout=8, verify_ssl=False, loop=None):
2929
self.marks = {'via': 0, 'proxy': 0}
3030
self.timeout = timeout
3131
self.verify_ssl = verify_ssl
32-
self._loop = loop or asyncio.get_event_loop()
32+
self._loop = loop
3333
self._resolver = Resolver(loop=self._loop)
3434

3535
def __repr__(self):

proxybroker/providers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def __init__(
4545
self._proxies = set()
4646
# concurrent connections on the current provider
4747
self._sem_provider = asyncio.Semaphore(max_conn)
48-
self._loop = loop or asyncio.get_event_loop()
48+
self._loop = loop
4949

5050
@property
5151
def proxies(self):

proxybroker/resolver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class Resolver:
4444

4545
def __init__(self, timeout=5, loop=None):
4646
self._timeout = timeout
47-
self._loop = loop or asyncio.get_event_loop()
47+
self._loop = loop
4848
self._resolver = aiodns.DNSResolver(loop=self._loop)
4949

5050
@staticmethod

proxybroker/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def __init__(
131131
):
132132
self.host = host
133133
self.port = int(port)
134-
self._loop = loop or asyncio.get_event_loop()
134+
self._loop = loop
135135
self._timeout = timeout
136136
self._max_tries = max_tries
137137
self._backlog = backlog

0 commit comments

Comments
 (0)