diff --git a/eumd-common/overlay/opt/mdqp/pre.d/00-daily-clean b/eumd-common/overlay/opt/mdqp/pre.d/00-daily-clean new file mode 100755 index 00000000..ff5402bb --- /dev/null +++ b/eumd-common/overlay/opt/mdqp/pre.d/00-daily-clean @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e + +sync_file="/opt/mdqp/work/full_sync" +if [ -f ${sync_file} ]; then + + if [ "$(date -r ${sync_file} +%Y-%m-%d)" != "$(date +%Y-%m-%d)" ]; then + rm "${sync_file}" + fi +fi + + + diff --git a/eumd-common/overlay/opt/mdqp/pre.d/20-restart-pyff b/eumd-common/overlay/opt/mdqp/pre.d/20-restart-pyff new file mode 100755 index 00000000..22acc7ef --- /dev/null +++ b/eumd-common/overlay/opt/mdqp/pre.d/20-restart-pyff @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -e + +metadata_dir="/opt/mdqp/work/incoming_metadata/" +entities_on_disk=$(find ${metadata_dir} -type f -printf "%f\n" |sort |uniq | wc -l) + +systemctl restart sunet-pyff.service + +# Pyff is never faster then 20 sec. Prevent exceptions in log by not trying +# earlier. +sleep 25 + +# Give pyff some time to start +happy_pyff=0 +for try in {1..30}; do + entitites=$(curl -s 'localhost:8080/api/status' | jq .store.size 2> /dev/null || echo 0) + if [ -n "${entitites}" ] && [ "${entitites}" != "0" ]; then + loaded_entites_in_percent=$(python3 -c "print(int(${entitites} / ${entities_on_disk} * 100))") + if [ "${loaded_entites_in_percent}" -ge "96" ]; then + happy_pyff=200 + break + fi + fi + sleep "${try}"; +done + +if [ "${happy_pyff}" != "200" ]; then + echo "couldn't restart pyff - exit" + exit 1 +fi + +# Hängslen och livrem +sleep 10