Witam czy jest możliwość żeby za pomocą jednego Skryptu odpalać inny skrypt który nanosi zmiany na bazie i dość często się rozłącza. Ze jeżeli wywali błąd to żeby odpalił go ponownie? Czy można prosić o jakiś przykład?
0
0
np. Calling an external command from Python ?
Ale jeśli to skrypt w Pytonie to czy nie możesz zmodyfikować go tak żeby działał w pętli?
0
Fork.
0
Coś w stylu:
import subprocess
while True:
try:
process_result = subprocess.run("python ./your-script.py", shell=True, check=True, capture_output=True)
break
except subprocess.CalledProcessError:
continue
czy też bardziej explicite:
import subprocess
while True:
process_result = subprocess.run("python ./your-script.py", shell=True, capture_output=True)
if process_result.returncode == 0:
break
btw. process_result, dzięki capture_output, będzie przechowywał to co twój skrypt wywali na STDOUT, więc jeśli jest to mega intensywnie logowo operacja (kilka gb które nie zmieści sie w pamięci, możesz chcieć wyrzucić capture_output z inwokacji funkcji - domyślnie jest na False) lub zrobić coś w stylu:
"python ./your-script.py >> logs"