restart server after changing cars

This commit is contained in:
SemvdH
2025-11-18 00:12:55 +01:00
parent f547e074a9
commit db5711a3d6

View File

@@ -130,17 +130,9 @@ class Handler(BaseHTTPRequestHandler):
success, message = change_track(track, config)
if success:
sysbus = dbus.SystemBus()
systemd1 = sysbus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
manager = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Manager')
job = manager.RestartUnit('assetto-corsa-server.service', 'replace')
if job:
print("Successfully restarted assetto-corsa-server.service")
else:
print("Failed to restart assetto-corsa-server.service")
success = False
message = "Failed to restart assetto-corsa-server.service"
print(message)
success, message = restart_ac_server()
print(f"restart succeeded: {success}, {message}")
if success:
self.send_response(200)
self.send_header("Content-type", "application/json")
@@ -168,6 +160,22 @@ class Handler(BaseHTTPRequestHandler):
data = json.loads(body)
print("Received cars:", data)
success, message = update_cars(data.get("cars", []))
if success:
success, message = restart_ac_server()
print(f"restart succeeded: {success}, {message}")
if success:
self.send_response(200)
self.send_header("Content-type", "application/json")
self.end_headers()
response = {"status": "success", "message": message}
self.wfile.write(json.dumps(response).encode())
else:
self.send_response(400)
self.send_header("Content-type", "application/json")
self.end_headers()
response = {"status": "error", "message": message}
self.wfile.write(json.dumps(response).encode())
return True
except json.JSONDecodeError:
self.send_response(400)
@@ -195,8 +203,15 @@ class Handler(BaseHTTPRequestHandler):
return track, config
def restart_ac_server() -> tuple[bool, str]:
sysbus = dbus.SystemBus()
systemd1 = sysbus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
manager = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Manager')
job = manager.RestartUnit('assetto-corsa-server.service', 'replace')
if job:
return True, "Successfully restarted assetto-corsa-server.service"
else:
return False, "Failed to restart assetto-corsa-server.service"
server = HTTPServer(("0.0.0.0", 10303), Handler)
print("Server running on port 10303")