From 2e0157ff6ccd5f45db2592afb867b90579a1ef74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Hells=C3=A9n?= Date: Mon, 7 Jul 2025 22:56:56 +0200 Subject: [PATCH] Add logging for entry sending and improve scheduler configuration --- discord_rss_bot/feeds.py | 1 + discord_rss_bot/main.py | 23 ++++++++++------------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/discord_rss_bot/feeds.py b/discord_rss_bot/feeds.py index 6892d66..8e9212c 100644 --- a/discord_rss_bot/feeds.py +++ b/discord_rss_bot/feeds.py @@ -352,6 +352,7 @@ def send_to_discord(custom_reader: Reader | None = None, feed: Feed | None = Non feed: The feed to send to Discord. do_once: If we should only send one entry. This is used in the test. """ + logger.info("Starting to send entries to Discord.") # Get the default reader if we didn't get a custom one. reader: Reader = get_reader() if custom_reader is None else custom_reader diff --git a/discord_rss_bot/main.py b/discord_rss_bot/main.py index 40cd0be..1a7746a 100644 --- a/discord_rss_bot/main.py +++ b/discord_rss_bot/main.py @@ -89,20 +89,17 @@ reader: Reader = get_reader() @asynccontextmanager async def lifespan(app: FastAPI) -> AsyncGenerator[None]: - """Lifespan for the FastAPI app. - - Args: - app: The FastAPI app. - - Yields: - None: Nothing. - """ + """Lifespan function for the FastAPI app.""" add_missing_tags(reader) - scheduler: AsyncIOScheduler = AsyncIOScheduler() - - # Run job every minute to check for new entries. Feeds will be checked every 15 minutes. - # TODO(TheLovinator): Make this configurable. - scheduler.add_job(send_to_discord, "interval", minutes=1, next_run_time=datetime.now(tz=UTC)) + scheduler: AsyncIOScheduler = AsyncIOScheduler(timezone=UTC) + scheduler.add_job( + func=send_to_discord, + trigger="interval", + minutes=1, + id="send_to_discord", + max_instances=3, + next_run_time=datetime.now(tz=UTC), + ) scheduler.start() logger.info("Scheduler started.") yield