#!/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