diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -295,6 +295,25 @@ - "./conf/web.yml:/web.yml:ro" - "./services/swh-web/entrypoint.sh:/entrypoint.sh:ro" + swh-web-cron: + build: ./ + image: swh/stack + depends_on: + - swh-web + env_file: + - ./env/common_python.env + - ./env/01-web-db.env + - ./env/02-web-db.env + environment: + VERBOSITY: 2 + DJANGO_SETTINGS_MODULE: swh.web.settings.production + SWH_CONFIG_FILENAME: /web.yml + entrypoint: /entrypoint.sh + command: cron + volumes: + - "./conf/web.yml:/web.yml:ro" + - "./services/swh-web/entrypoint.sh:/entrypoint.sh:ro" + swh-deposit-db: image: postgres:12 env_file: diff --git a/docker/services/swh-web/entrypoint.sh b/docker/services/swh-web/entrypoint.sh --- a/docker/services/swh-web/entrypoint.sh +++ b/docker/services/swh-web/entrypoint.sh @@ -22,6 +22,16 @@ "shell") exec bash -i ;; + "cron") + echo "Start periodic save code now refresh statuses routine (in background)" + exec sh -c 'trap exit TERM INT; while :; do + (date && django-admin refresh_savecodenow_statuses \ + --settings=${DJANGO_SETTINGS_MODULE} 2>&1) + sleep 15 & + wait ${!} + done' + ;; + *) wait_pgsql @@ -35,17 +45,6 @@ cat $create_user_script | python3 -m swh.web.manage shell done - echo "Start periodic save code now refresh statuses routine (in background)" - ( - while true - do - (date && django-admin refresh_savecodenow_statuses \ - --settings=${DJANGO_SETTINGS_MODULE} 2>&1) >> /tmp/refresh-statuses.log - sleep 15 - done - ) & - disown - echo "starting the swh-web server" if [[ -d /src/swh-web ]] ; then # run django development server when overriding swh-web sources