From 92489e7ef6da996248b123891008448503ef8ba3 Mon Sep 17 00:00:00 2001 From: TrisNol Date: Mon, 13 Nov 2023 19:54:29 +0100 Subject: [PATCH 1/2] checkpoint: Set schedule interval via ENV variable --- README.md | 2 ++ src/aki_prj23_transparenzregister/apps/fetch_news.py | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 80193c5..e1ee93e 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,8 @@ PYTHON_SQLITE_PATH=PathToSQLite3.db # An overwrite path to an sqllite db PYTHON_DASH_LOGIN_USERNAME=some-login-to-webgui PYTHON_DASH_LOGIN_PW=some-pw-to-login-to-webgui +PYTHON_INGEST_SCHEDULE=12 # Every x hours + CR=ghcr.io/fhswf/aki_prj23_transparenzregister TAG=latest diff --git a/src/aki_prj23_transparenzregister/apps/fetch_news.py b/src/aki_prj23_transparenzregister/apps/fetch_news.py index b92f559..434420a 100644 --- a/src/aki_prj23_transparenzregister/apps/fetch_news.py +++ b/src/aki_prj23_transparenzregister/apps/fetch_news.py @@ -1,5 +1,6 @@ """Scheduled news article extraction and transfer to MongoDB.""" import argparse +import os import sys import time @@ -45,7 +46,10 @@ def fetch_news_cli() -> None: # pragma: no cover configer_logger(namespace=parsed) config_provider = get_config_provider(parsed.config) - every(12).hours.do(schedule, config_provider) + schedule = int(os.getenv("PYTHON_INGEST_SCHEDULE", "6")) + + logger.info(f"Scheduled job will run every {schedule} hours") + every(schedule).hours.do(schedule, config_provider) while True: run_pending() From c1faa2cba68cf70ec688085f2aab9a04f8ad764d Mon Sep 17 00:00:00 2001 From: TrisNol Date: Mon, 13 Nov 2023 20:08:26 +0100 Subject: [PATCH 2/2] feat(deployment): Enable setting of schedule for ingest container using ENV var --- docker-compose.yml | 2 +- local-docker-compose.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index d190528..e2bcf05 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,6 +12,7 @@ services: PYTHON_MONGO_HOST: ${PYTHON_MONGO_HOST:-mongodb} PYTHON_MONGO_PORT: ${PYTHON_MONGO_PORT:-27017} PYTHON_MONGO_DATABASE: ${PYTHON_MONGO_DATABASE:-transparenzregister} + PYTHON_INGEST_SCHEDULE: ${PYTHON_INGEST_SCHEDULE:-4} deploy: replicas: 1 restart: on-failure:3 @@ -23,7 +24,6 @@ services: MONGO_INITDB_ROOT_USERNAME: ${PYTHON_MONGO_USERNAME:-root} MONGO_INITDB_ROOT_PASSWORD: ${PYTHON_MONGO_PASSWORD:?error} MONGO_INITDB_DATABASE: ${PYTHON_MONGO_DATABASE:-transparenzregister} - TEST_ENV_VAR: Hello_World ports: - ${MONGO_EXTERNAL_PORT:-27018}:27017 diff --git a/local-docker-compose.yml b/local-docker-compose.yml index 5b06255..bdb4ad2 100644 --- a/local-docker-compose.yml +++ b/local-docker-compose.yml @@ -16,6 +16,7 @@ services: PYTHON_MONGO_HOST: ${PYTHON_MONGO_HOST:-mongodb} PYTHON_MONGO_PORT: ${PYTHON_MONGO_PORT:-27017} PYTHON_MONGO_DATABASE: ${PYTHON_MONGO_DATABASE:-transparenzregister} + PYTHON_INGEST_SCHEDULE: ${PYTHON_INGEST_SCHEDULE:-4} mongodb: image: mongo:4.4.6