2023-05-01 06:12:36 +00:00

38 lines
828 B
Python

#!/usr/bin/env python3
import json
import subprocess
import time
import logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
def check_process_status():
status = 'READY'
output = subprocess.check_output(['ps', 'ax', '-ocomm']).decode("utf-8").strip()
if 'orted' in output:
status = 'BUSY'
if 'sshd' not in output:
status = 'ERROR'
return status
def update_worker_status():
while True:
status = check_process_status()
data = {"status": status, "timestamp": int(time.time())}
with open(
"/competition/worker_node_status.json",
"w+",
) as statusfile:
statusfile.write(json.dumps(data))
time.sleep(1)
if __name__ == "__main__":
update_worker_status()