aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/admin/admin.h
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-09-13 16:13:30 -0400
committerGitHub <[email protected]>2023-09-13 22:13:30 +0200
commitb2cef5900b6e251bed4bc0a02161fd90646d37f0 (patch)
treee9085a92e9499bca55dfda9b63779be94218409f /src/zenserver/admin/admin.h
parentscan oplog object for fields (#397) (diff)
downloadzen-b2cef5900b6e251bed4bc0a02161fd90646d37f0.tar.xz
zen-b2cef5900b6e251bed4bc0a02161fd90646d37f0.zip
job queue and async oplog-import/export (#395)
- Feature: New http endpoint for background jobs `/admin/jobs/status` which will return a response listing the currently active background jobs and their status - Feature: New http endpoint for background jobs information `/admin/jobs/status/{jobid}` which will return a response detailing status, pending messages and progress status - GET will return a response detailing status, pending messages and progress status - DELETE will mark the job for cancelling and return without waiting for completion - If status returned is "Complete" or "Aborted" the jobid will be removed from the server and can not be queried again - Feature: New zen command `jobs` to list, get info about and cancel background jobs - If no options are given it will display a list of active background jobs - `--jobid` accepts an id (returned from for example `oplog-export` with `--async`) and will return a response detailing status, pending messages and progress status for that job - `--cancel` can be added when `--jobid` is given which will request zenserver to cancel the background job - Feature: oplog import and export http rpc requests are now async operations that will run in the background - Feature: `oplog-export` and `oplog-import` now reports progress to the console as work progress by default - Feature: `oplog-export` and `oplog-import` can now be cancelled using Ctrl+C - Feature: `oplog-export` and `oplog-import` has a new option `--async` which will only trigger the work and report a background job id back
Diffstat (limited to 'src/zenserver/admin/admin.h')
-rw-r--r--src/zenserver/admin/admin.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/zenserver/admin/admin.h b/src/zenserver/admin/admin.h
index 9463ffbb3..3152f87ab 100644
--- a/src/zenserver/admin/admin.h
+++ b/src/zenserver/admin/admin.h
@@ -8,11 +8,12 @@
namespace zen {
class GcScheduler;
+class JobQueue;
class HttpAdminService : public zen::HttpService
{
public:
- HttpAdminService(GcScheduler& Scheduler);
+ HttpAdminService(GcScheduler& Scheduler, JobQueue& BackgroundJobQueue);
~HttpAdminService();
virtual const char* BaseUri() const override;
@@ -21,6 +22,7 @@ public:
private:
HttpRequestRouter m_Router;
GcScheduler& m_GcScheduler;
+ JobQueue& m_BackgroundJobQueue;
};
} // namespace zen