feat(tower): transfers api and retry endpoint
This commit is contained in:
@@ -92,6 +92,9 @@ class H(BaseHTTPRequestHandler):
|
||||
self._json({"box": st, "delta": delta, "staging_count": len(C.staging_files())}); return
|
||||
if path == "/api/routines":
|
||||
self._json({"routines": C.routines_load()}); return
|
||||
if path == "/api/transfers":
|
||||
self._json({"active": C.transfers_active(),
|
||||
"history": C.transfers_history()}); return
|
||||
self.send_error(404)
|
||||
|
||||
# --- POST ---
|
||||
@@ -196,6 +199,15 @@ class H(BaseHTTPRequestHandler):
|
||||
delta = C.compute_routines_delta(st.get("have", []))
|
||||
started = C.try_push(ip, delta, subdir="routines")
|
||||
self._json({"ip": ip, "delta": len(delta), "started": started}); return
|
||||
if path == "/api/transfers/retry":
|
||||
st = C.box_state_load()
|
||||
ip = st.get("ip")
|
||||
if not ip:
|
||||
self._json({"error": "box never registered"}, 409); return
|
||||
res = C.retry_failed(ip)
|
||||
if not res["count"]:
|
||||
self._json({"error": "rien a relancer"}, 409); return
|
||||
self._json(res, 202); return
|
||||
self.send_error(404)
|
||||
|
||||
# --- DELETE ---
|
||||
|
||||
Reference in New Issue
Block a user