diff options
| author | Dan Engelbrecht <[email protected]> | 2023-11-27 05:20:24 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-11-27 11:20:24 +0100 |
| commit | 6171e981b445b1850ed7c5ba7a2a5901f2227fba (patch) | |
| tree | c037df9b2cb89d1777b92d656d5f66e621af4012 /src/zenserver/admin/admin.cpp | |
| parent | Add GC Cancel/Stop (#568) (diff) | |
| download | zen-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.cpp | 14 |
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); |