diff --git a/backend/cron_state.db b/backend/cron_state.db new file mode 100644 index 0000000..cbc7655 Binary files /dev/null and b/backend/cron_state.db differ diff --git a/backend/cron_state.db-shm b/backend/cron_state.db-shm new file mode 100644 index 0000000..2e4d3ba Binary files /dev/null and b/backend/cron_state.db-shm differ diff --git a/backend/cron_state.db-wal b/backend/cron_state.db-wal new file mode 100644 index 0000000..bee2f81 Binary files /dev/null and b/backend/cron_state.db-wal differ diff --git a/backend/src/backend/__pycache__/main.cpython-314.pyc b/backend/src/backend/__pycache__/main.cpython-314.pyc index 8a16993..f5e76c3 100644 Binary files a/backend/src/backend/__pycache__/main.cpython-314.pyc and b/backend/src/backend/__pycache__/main.cpython-314.pyc differ diff --git a/backend/src/backend/internal/__pycache__/xml_reader.cpython-314.pyc b/backend/src/backend/internal/__pycache__/xml_reader.cpython-314.pyc index 8c0ad4a..1f9b286 100644 Binary files a/backend/src/backend/internal/__pycache__/xml_reader.cpython-314.pyc and b/backend/src/backend/internal/__pycache__/xml_reader.cpython-314.pyc differ diff --git a/backend/src/backend/internal/xml_reader.py b/backend/src/backend/internal/xml_reader.py index 466fd6c..636c5ad 100644 --- a/backend/src/backend/internal/xml_reader.py +++ b/backend/src/backend/internal/xml_reader.py @@ -5,7 +5,7 @@ import feedparser FEED_URL="https://blauwasser-mausis.de/rss.xml" -def get_feed(): +def check_blog_rss_and_send_mail(): feed = feedparser.parse(FEED_URL) # feed.entries.reverse() diff --git a/backend/src/backend/main.py b/backend/src/backend/main.py index 454352b..ba4197e 100644 --- a/backend/src/backend/main.py +++ b/backend/src/backend/main.py @@ -1,14 +1,21 @@ -from backend.internal.xml_reader import get_feed +from backend.internal.xml_reader import check_blog_rss_and_send_mail from .routers import users, comments from backend.internal.database import create_db_and_tables from fastapi import APIRouter from fastapi import FastAPI +from fastapi_crons import Crons, get_cron_router -# TODO: Settings hinzufügen +# TODO: env # TODO: Deploy app = FastAPI() +crons = Crons(app) + +@crons.cron("0 14 * * *", name="RSS-Check") +async def check_for_new_article(): + check_blog_rss_and_send_mail() + @app.on_event("startup") def on_startup(): @@ -19,4 +26,6 @@ router = APIRouter() app.include_router(users.router) app.include_router(comments.router) -get_feed() \ No newline at end of file +app.include_router(get_cron_router(), prefix="/crons") + +