From c379b45cb9f4055052b3c6885fbb5ecd5ce5a93b Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Mon, 24 Feb 2025 21:24:43 -0600 Subject: [PATCH] BrowserCache: Better handle cache file changing/failing while reading. --- fanficfare/fetchers/cache_browser.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/fanficfare/fetchers/cache_browser.py b/fanficfare/fetchers/cache_browser.py index 5c9062dd..ebae4f6c 100644 --- a/fanficfare/fetchers/cache_browser.py +++ b/fanficfare/fetchers/cache_browser.py @@ -76,11 +76,18 @@ class BrowserCacheDecorator(FetcherDecorator): # logger.debug("First time for (%s) extra sleep"%parsedUrl.netloc) # time.sleep(10) fromcache=False - read_try_sleeps = [2, 2, 4, 5, 6] + read_try_sleeps = [2, 2, 4, 10, 20] while not d and read_try_sleeps: time.sleep(read_try_sleeps.pop(0)) logger.debug("Checking for cache...") - d = self.cache.get_data(url) + try: + d = self.cache.get_data(url) + except Exception as e: + ## catch exception while retrying, but + ## re-raise if out of retries. + logger.debug("Exception reading cache after open_pages_in_browser %s"%e) + if not read_try_sleeps: + raise # logger.debug(d) open_tries -= 1 domain_open_tries[parsedUrl.netloc] = domain_open_tries.get(parsedUrl.netloc,0) + 1