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() await sub.load()
running.append(sub.display_name) running.append(sub.display_name)
logger.debug(f"Streaming subreddit {sub.display_name}") logger.debug(f"Streaming subreddit {sub.display_name}")
try:
async for post in sub.stream.submissions(): async for post in sub.stream.submissions():
if not post: if not post:
logger.debug(f"Got None for post in {sub.display_name}") 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 continue
except Exception: except Exception:
logger.error( 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) 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: if s:
await s.delete() await s.delete()
break break
except Exception:
logger.error(f"Subreddit stream {sub.display_name} failed", exc_info=True)
running.remove(sub.display_name) running.remove(sub.display_name)