log ports chose for browsers, and give threads nice names to make logs easier to understand

This commit is contained in:
Noah Levitt 2014-05-23 22:30:25 -07:00
parent 2c4ba005b5
commit b67d9fadf0
2 changed files with 14 additions and 3 deletions

View file

@ -16,6 +16,8 @@ import socket
from umbra.behaviors import Behavior
class BrowserPool:
logger = logging.getLogger(__module__ + "." + __qualname__)
def __init__(self, size=3, chrome_exe='chromium-browser', chrome_wait=60):
self._available = set()
@ -26,6 +28,8 @@ class BrowserPool:
self._lock = threading.Lock()
self.logger.info("browser ports: {}".format([browser.chrome_port for (browser, port_holder) in self._available]))
def _grab_random_port(self):
"""Returns socket bound to some port."""
sock = socket.socket()
@ -80,7 +84,11 @@ class Browser:
self.websock = websocket.WebSocketApp(websocket_url,
on_open=self._visit_page,
on_message=self._handle_message)
websock_thread = threading.Thread(target=self.websock.run_forever, kwargs={'ping_timeout':0.5})
import random
threadName = "WebsockThread{}-{}".format(self.chrome_port,
''.join((random.choice('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') for _ in range(6))))
websock_thread = threading.Thread(target=self.websock.run_forever, name=threadName, kwargs={'ping_timeout':0.5})
websock_thread.start()
start = time.time()