aboutsummaryrefslogtreecommitdiff
path: root/zenserver/compute/function.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2022-04-26 10:46:38 +0200
committerDan Engelbrecht <[email protected]>2022-04-26 10:46:38 +0200
commitbd5b1a15f65f2fde3721acd16ce3a316c03583ea (patch)
treedfa0acea7237697cbdf14a1fa2bc121a060f6ec7 /zenserver/compute/function.cpp
parentMerge branch 'main' into de/cache-with-block-store (diff)
parentCompute tweaks (#78) (diff)
downloadzen-bd5b1a15f65f2fde3721acd16ce3a316c03583ea.tar.xz
zen-bd5b1a15f65f2fde3721acd16ce3a316c03583ea.zip
Merge remote-tracking branch 'origin/main' into de/cache-with-block-store
Diffstat (limited to 'zenserver/compute/function.cpp')
-rw-r--r--zenserver/compute/function.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/zenserver/compute/function.cpp b/zenserver/compute/function.cpp
index 7c5f33e78..dd31013ef 100644
--- a/zenserver/compute/function.cpp
+++ b/zenserver/compute/function.cpp
@@ -54,6 +54,16 @@ HttpFunctionService::HttpFunctionService(CasStore& Store,
m_Router.AddPattern("action", "([[:xdigit:]]{40})");
m_Router.RegisterRoute(
+ "ready",
+ [this](HttpRouterRequest& Req) {
+ HttpServerRequest& HttpReq = Req.ServerRequest();
+
+ // Todo: check upstream health
+ return HttpReq.WriteResponse(HttpResponseCode::OK);
+ },
+ HttpVerb::kGet);
+
+ m_Router.RegisterRoute(
"workers/{worker}",
[this](HttpRouterRequest& Req) {
HttpServerRequest& HttpReq = Req.ServerRequest();
@@ -532,6 +542,15 @@ HttpFunctionService::ExecActionUpstreamResult(const IoHash& WorkerId, CbObject&
ResultObject.AddString("stdout"sv, Completed.StdOut);
ResultObject.AddString("stderr"sv, Completed.StdErr);
ResultObject.AddInteger("exitcode"sv, Completed.Error.ErrorCode);
+ ResultObject.BeginArray("stats"sv);
+ for (const auto& Timepoint : Completed.Timepoints)
+ {
+ ResultObject.BeginObject();
+ ResultObject.AddString("name"sv, Timepoint.first);
+ ResultObject.AddDateTimeTicks("time"sv, Timepoint.second);
+ ResultObject.EndObject();
+ }
+ ResultObject.EndArray();
ResultObject.BeginArray("files"sv);
for (const auto& File : Completed.OutputFiles)