From 786ced5c242807a89d6bcdda023be186a60f66e5 Mon Sep 17 00:00:00 2001 From: John Doty Date: Mon, 15 Jul 2024 09:26:14 +0900 Subject: [PATCH] Recover more quickly from failures by default --- cry/feed.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cry/feed.py b/cry/feed.py index d6fde38..d778275 100644 --- a/cry/feed.py +++ b/cry/feed.py @@ -148,7 +148,10 @@ async def fetch_feed( return (None, feed) if time.time() < feed.retry_after_ts: - LOG.info(f"{feed.url} will not be pulled until {feed.retry_after_ts}") + retry_str = time.strftime( + "%Y-%m-%d %H:%M:%S %z", time.localtime(feed.retry_after_ts) + ) + LOG.info(f"{feed.url} will not be pulled until {retry_str}") return (None, feed) # We waffle back and forth about using feedreader's HTTP support vs @@ -213,7 +216,10 @@ async def fetch_feed( except Exception: pass if retry_delta is None: - retry_delta = 60 * 60 # 1 hour default + if failed: + retry_delta = 1 * 60 # Retry again in a minute + else: + retry_delta = 60 * 60 # 1 hour default feed = dataclasses.replace(feed, retry_after_ts=int(time.time()) + retry_delta)