diff --git a/.gitignore b/.gitignore index fed72ef0594e1d525f78864a24386e19ee90ed44..ff7d90384b2263a675dfef203744c62e4840ca12 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ data/ !data/tomcat/context/.gitkeep /Pipfile docker-compose-dev.yml +cron/crontab.txt diff --git a/cron/crontab.example.txt b/cron/crontab.example.txt new file mode 100644 index 0000000000000000000000000000000000000000..de3fc4a6d591a8a78bcebb74ed1964858b27c241 --- /dev/null +++ b/cron/crontab.example.txt @@ -0,0 +1 @@ +30 1-23/3 * * * /scripts/sms_sync/sms_cv_tables.py > $STDOUT 2>$STDERR diff --git a/cron/crontab.txt b/cron/crontab.txt deleted file mode 100644 index ab29da22c9286918c81e88e4d8a9f08ecf3368f3..0000000000000000000000000000000000000000 --- a/cron/crontab.txt +++ /dev/null @@ -1 +0,0 @@ -15,45 * * * * /usr/bin/python3 /scripts/sms_sync/sms_cv_tables.py > $STDOUT 2>$STDERR diff --git a/cron/scripts/sms_sync/sms_cv_tables.py b/cron/scripts/sms_sync/sms_cv_tables.py old mode 100644 new mode 100755 index 5b5f73fac7c2d429a927cd83649ae9e8456028d5..7b4b0f0ed405d03b56d242cb03f714f5af408fe7 --- a/cron/scripts/sms_sync/sms_cv_tables.py +++ b/cron/scripts/sms_sync/sms_cv_tables.py @@ -1,18 +1,25 @@ +#!/usr/bin/python3 + from sync_utils import ( create_table, upsert_table, get_connection_from_env, ) -from os import chdir, environ +import os import json -url = environ.get("CV_API_URL") -home = environ.get("HOME") -chdir(home) +script_dir = os.path.dirname(os.path.abspath(__file__)) + +file_names = [ + "sms_cv_measured_quantity.json" +] -file_path_list = ["scripts/sms_sync/tables/sms_cv_measured_quantity.json"] +file_path_list = [os.path.join(script_dir, "tables", file_name) for file_name in file_names] if __name__ == "__main__": + url = os.environ.get("CV_API_URL") + home = os.environ.get("HOME") + os.chdir(home) for file_path in file_path_list: db = get_connection_from_env() try: diff --git a/docker-compose.yml b/docker-compose.yml index 402aae4b249ff5092cb1362503590b748b5a4705..7f20fdec1441731ed7e1d4cd7549dff8756d6550 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,6 +25,7 @@ services: volumes: - "./data/minio/certs/:/tmp/certs" - "./nginx/html/:/home/tsm/html" + - "./cron:/tmp/cron" # Summary @@ -697,6 +698,8 @@ services: depends_on: mqtt-broker: condition: "service_healthy" + init: + condition: "service_completed_successfully" environment: LOG_LEVEL: "${LOG_LEVEL}" TOPIC: "thing_creation" @@ -791,6 +794,9 @@ services: ${FRONTEND_POSTGRES_PASS}@\ ${FRONTEND_POSTGRES_HOST}/\ ${FRONTEND_POSTGRES_DB}" + depends_on: + init: + condition: "service_completed_successfully" healthcheck: test: [ "CMD-SHELL", "service cron status || exit 1" ] interval: 5s diff --git a/init/init.sh b/init/init.sh index b9cef69ad049f5ba7aeb1ce94f527bbda2ad4db5..dd50a95d678407388bbcab5460ba0334a33ad23f 100755 --- a/init/init.sh +++ b/init/init.sh @@ -22,4 +22,10 @@ chmod a+x /home/tsm/html/css chmod a+x /home/tsm/html/images chmod -R a+r /home/tsm/html -tree -pugfi /home/tsm/html \ No newline at end of file +tree -pugfi /home/tsm/html + +# Create crontab.txt if it not already exists +if [ ! -f "/tmp/cron/crontab.txt" ]; then + touch "/tmp/cron/crontab.txt" + chmod 666 "/tmp/cron/crontab.txt" +fi