|
|
|
@ -4,8 +4,10 @@ from restscrape.scraping.browser import start_browser, BrowserConnection |
|
|
|
|
|
|
|
def get_tab(proxy, use_adblock=True): |
|
|
|
try: |
|
|
|
matching_browser = Browser.objects.get(proxy=proxy, use_adblock=use_adblock) |
|
|
|
browser_connection = BrowserConnection(address=matching_browser.address) |
|
|
|
|
|
|
|
browser_connection = Browser.objects.get( |
|
|
|
proxy=proxy, use_adblock=use_adblock |
|
|
|
).connect() |
|
|
|
except Browser.DoesNotExist: |
|
|
|
browser_connection = start_browser(proxy=proxy, use_adblock=use_adblock) |
|
|
|
created_browser = Browser( |
|
|
|
@ -13,3 +15,17 @@ def get_tab(proxy, use_adblock=True): |
|
|
|
) |
|
|
|
created_browser.save() |
|
|
|
return browser_connection.create_tab() |
|
|
|
|
|
|
|
|
|
|
|
def cleanup_browsers(max_browsers=5): |
|
|
|
alive = 0 |
|
|
|
for browser in Browser.objects.all(): |
|
|
|
if alive < max_browsers: |
|
|
|
try: |
|
|
|
browser.connect() |
|
|
|
alive += 1 |
|
|
|
except Exception: |
|
|
|
browser.delete() |
|
|
|
else: |
|
|
|
if len(browser.connect().tabs) == 1: |
|
|
|
browser.delete() |