def create(self, url_key): def inner(): try: self.wharf.checkout() return super(WharfFactory, self).create(url_key) except URLError as ex: # connection to selenum was refused for unknown reasons log.error('URLError connecting to selenium; recycling container. URLError:') write_line('URLError caused container recycle, see log for details', red=True) log.exception(ex) self.wharf.checkin() raise return tries(10, URLError, inner)
def create(self, url_key): def inner(): try: self.wharf.checkout() return super(WharfFactory, self).create(url_key) except urllib2.URLError as ex: # connection to selenum was refused for unknown reasons log.error( 'URLError connecting to selenium; recycling container. URLError:' ) write_line( 'URLError caused container recycle, see log for details', red=True) log.exception(ex) self.wharf.checkin() raise return tries(10, urllib2.URLError, inner)
def create(self, url_key): try: browser = tries( 3, WebDriverException, self.webdriver_class, **self.processed_browser_args()) except URLError as e: if e.reason.errno == 111: # Known issue raise RuntimeError('Could not connect to Selenium server. Is it up and running?') else: # Unknown issue raise browser.file_detector = UselessFileDetector() browser.maximize_window() browser.get(url_key) browser.url_key = url_key return browser
def create(self, url_key): try: browser = tries( 2, WebDriverException, self.webdriver_class, **self.processed_browser_args()) except URLError as e: if e.reason.errno == 111: # Known issue raise RuntimeError('Could not connect to Selenium server. Is it up and running?') else: # Unknown issue raise browser.file_detector = UselessFileDetector() browser.maximize_window() browser.get(url_key) browser.url_key = url_key return browser
def create(self, url_key): def inner(): try: self.wharf.checkout() return super(WharfFactory, self).create(url_key) except URLError as ex: # connection to selenum was refused for unknown reasons log.error('URLError connecting to selenium; recycling container. URLError:') write_line('URLError caused container recycle, see log for details', red=True) log.exception(ex) self.wharf.checkin() raise except Exception: log.exception("failure on webdriver usage, returning container") self.wharf.checkin() raise return tries(WHARF_OUTER_RETRIES, BROWSER_ERRORS, inner)
def create(self, url_key): def inner(): try: self.wharf.checkout() return super(WharfFactory, self).create(url_key) except URLError as ex: # connection to selenum was refused for unknown reasons log.error('URLError connecting to selenium; recycling container. URLError:') write_line('URLError caused container recycle, see log for details', red=True) log.exception(ex) self.wharf.checkin() raise except Exception: log.exception("failure on webdriver usage, returning container") self.wharf.checkin() raise return tries(WHARF_OUTER_RETRIES, BROWSER_ERRORS, inner)