restart server after changing cars
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user