Enhance check_logs function in checker.py to capture last subscription ID from logs. Added logic to identify and return the most recent subscription ID when "Ignored subscription creation" messages are detected. This improves the clarity of log analysis by providing specific subscription status, while maintaining the existing error handling for Docker log retrieval.

This commit is contained in:
vvzvlad 2025-01-19 11:42:14 +03:00
parent c95fce1b69
commit e5a0eef020

View File

@ -138,13 +138,20 @@ def check_logs(log_handler):
try: try:
logs = subprocess.run(['docker', 'logs', '--since', '10m', 'infernet-node'], capture_output=True, text=True, check=True) logs = subprocess.run(['docker', 'logs', '--since', '10m', 'infernet-node'], capture_output=True, text=True, check=True)
log_content = clean_ansi(logs.stdout) log_content = clean_ansi(logs.stdout)
last_subscription_id = None
for line in log_content.splitlines():
if "Ignored subscription creation" in line and "id=" in line:
id_match = re.search(r'id=(\d+)', line)
if id_match:
last_subscription_id = id_match.group(1)
if last_subscription_id:
return {"status": f"Subscription: {last_subscription_id}"}
return {"status": "Idle"}
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
raise RuntimeError(f"Error running docker logs: {e}") raise RuntimeError(f"Error running docker logs: {e}")
for line in log_content.splitlines():
print(line)
return {"status": "Idle"}
if __name__ == "__main__": if __name__ == "__main__":