step: how to run it in crontab?
@reboot sleep 900 && /usr/bin/python3 /home/ninja/Documents/watchdog.py
code:-
---
import psutil
import platform
from datetime import datetime
import os
from datetime import timedelta
import time
def get_size(bytes, suffix="B"):
"""
Scale bytes to its proper format
e.g:
1253656 => '1.20MB'
1253656678 => '1.17GB'
"""
factor = 1024
for unit in ["", "K", "M", "G", "T", "P"]:
if bytes < factor:
return f"{bytes:.2f}{unit}{suffix}"
bytes /= factor
while True:
svmem = psutil.virtual_memory()
cVal = svmem.percent
if cVal > 90:
print("start killing")
flag = True
try:
os.system('docker rm $(docker stop $(docker ps -a -q --filter ancestor=docker pull nvcr.io/nvidia/deepstream:6.0-triton --format="{{.ID}}"))')
except:
flag = False
print("Fail to kill")
time.sleep(10)
svmem = psutil.virtual_memory()
cVal = svmem.percent
if flag and cVal < 25:
try:
print("restarting")
os.system("/home/ninja/Documents/run1.sh &")
os.system("/home/ninja/Documents/run2.sh &")
except:
print("Fail to relaunch")
time.sleep(60)
No comments:
Post a Comment