restart server after changing cars
This commit is contained in:
@@ -130,17 +130,9 @@ class Handler(BaseHTTPRequestHandler):
|
|||||||
|
|
||||||
success, message = change_track(track, config)
|
success, message = change_track(track, config)
|
||||||
if success:
|
if success:
|
||||||
sysbus = dbus.SystemBus()
|
success, message = restart_ac_server()
|
||||||
systemd1 = sysbus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
|
print(f"restart succeeded: {success}, {message}")
|
||||||
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)
|
|
||||||
if success:
|
if success:
|
||||||
self.send_response(200)
|
self.send_response(200)
|
||||||
self.send_header("Content-type", "application/json")
|
self.send_header("Content-type", "application/json")
|
||||||
@@ -168,6 +160,22 @@ class Handler(BaseHTTPRequestHandler):
|
|||||||
data = json.loads(body)
|
data = json.loads(body)
|
||||||
print("Received cars:", data)
|
print("Received cars:", data)
|
||||||
success, message = update_cars(data.get("cars", []))
|
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
|
return True
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
self.send_response(400)
|
self.send_response(400)
|
||||||
@@ -195,8 +203,15 @@ class Handler(BaseHTTPRequestHandler):
|
|||||||
|
|
||||||
return track, config
|
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)
|
server = HTTPServer(("0.0.0.0", 10303), Handler)
|
||||||
print("Server running on port 10303")
|
print("Server running on port 10303")
|
||||||
|
|||||||
Reference in New Issue
Block a user