Posiadam program do przetwarzania danych, który musi uruchamiać się co 10min i sprawdzać czy na serwerze pojawiły się nowe dane.
Używam systemowego interpretera pythona na Ubuntu 20.04
Napisałem taki skrypt w Bashu:
if [[ $(ps wwuxaf | grep "python" | grep "main.py" | wc -l) > 0 ]] ; then echo "Application is running"; else cd /media/directory/ScriptGenerator/ && /usr/bin/python3.8 /media/directory/ScriptGenerator/main.py -j /media/directory/ScriptGenerator/config.json -s 2020-10-08 -e 2020-10-20 ; fi
Dodanie skryptu do CRON:
*/10 * * * * /media/RunScript.sh
Czy poza dodaniem takiego skryptu do CRON istnieje inny sposób cyklicznego uruchamiania skryptu?
Reakcja na pojawienie się nowych danych jest dość skomplikowana i tylko uruchomienie programu może sprawdzić czy należy go uruchomić.
Obliczenia wykonują się kilka godzin i dobrze aby skrypt sprawdził czy Python jest uruchomiony i nie uruchamiał tego samego dwa razy.
Czy moje rozwiązanie jest poprawne?