aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/admin/admin.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-11-27 05:20:24 -0500
committerGitHub <[email protected]>2023-11-27 11:20:24 +0100
commit6171e981b445b1850ed7c5ba7a2a5901f2227fba (patch)
treec037df9b2cb89d1777b92d656d5f66e621af4012 /src/zenserver/admin/admin.cpp
parentAdd GC Cancel/Stop (#568) (diff)
downloadzen-6171e981b445b1850ed7c5ba7a2a5901f2227fba.tar.xz
zen-6171e981b445b1850ed7c5ba7a2a5901f2227fba.zip
gc stop command (#569)v0.2.36-pre2
- Feature: New endpoint `/admin/gc-stop` to cancel a running garbage collect operation - Feature: Added `zen gc-stop` command to cancel a running garbage collect operation - Bugfix: GCv2 - make sure to discover all projects and oplogs before checking for expired data
Diffstat (limited to 'src/zenserver/admin/admin.cpp')
-rw-r--r--src/zenserver/admin/admin.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/zenserver/admin/admin.cpp b/src/zenserver/admin/admin.cpp
index f1d9f8d7c..1d5463a32 100644
--- a/src/zenserver/admin/admin.cpp
+++ b/src/zenserver/admin/admin.cpp
@@ -346,7 +346,19 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler,
CbObjectWriter Response;
Response << "Status"sv << (Started ? "Started"sv : "Running"sv);
- HttpReq.WriteResponse(HttpResponseCode::OK, Response.Save());
+ HttpReq.WriteResponse(HttpResponseCode::Accepted, Response.Save());
+ },
+ HttpVerb::kPost);
+
+ m_Router.RegisterRoute(
+ "gc-stop",
+ [this](HttpRouterRequest& Req) {
+ HttpServerRequest& HttpReq = Req.ServerRequest();
+ if (m_GcScheduler.CancelGC())
+ {
+ return HttpReq.WriteResponse(HttpResponseCode::Accepted);
+ }
+ HttpReq.WriteResponse(HttpResponseCode::OK);
},
HttpVerb::kPost);