Files
prind/docker/klipper/health.py
Markus Küffner 9ef0e9df1a Implement Health checks (#178)
* add healthchecks to moonraker, klipper and ustreamer images
2024-11-12 08:33:24 +01:00

23 lines
594 B
Python

#!/usr/bin/env python3
import socket, json, sys
socket_address="/opt/printer_data/run/klipper.sock"
message={"id": 666, "method": "info"}
# Set up socket connection
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.connect(socket_address)
# Send message and receive response
sock.sendall(json.dumps(message).encode() + b"\x03")
response = sock.recv(4096).decode('utf-8').strip('\x03')
sock.close()
# Check the result
if json.loads(response)["result"]["state"] == "ready":
# State is ready - healthy
sys.exit(0)
else:
# State is not ready - unhealthy
sys.exit(1)