Catch errors in subreddit

This commit is contained in:
Zeva Rose 2022-06-14 16:35:05 -06:00
parent 3b04182ea2
commit 7f27fab5fb

View file

@ -119,6 +119,7 @@ async def _stream(sub: Sub, bot: Client, reddit: Reddit) -> None:
await sub.load()
running.append(sub.display_name)
logger.debug(f"Streaming subreddit {sub.display_name}")
try:
async for post in sub.stream.submissions():
if not post:
logger.debug(f"Got None for post in {sub.display_name}")
@ -165,7 +166,8 @@ async def _stream(sub: Sub, bot: Client, reddit: Reddit) -> None:
continue
except Exception:
logger.error(
f"Failed to send message to {channel.id} in {channel.guild.name}", exc_info=True
f"Failed to send message to {channel.id} in {channel.guild.name}",
exc_info=True,
)
gauge = reddit_gauge.labels(subreddit_name=sub.display_name)
@ -176,6 +178,8 @@ async def _stream(sub: Sub, bot: Client, reddit: Reddit) -> None:
if s:
await s.delete()
break
except Exception:
logger.error(f"Subreddit stream {sub.display_name} failed", exc_info=True)
running.remove(sub.display_name)