aboutsummaryrefslogtreecommitdiff
path: root/zenserver/compute/function.cpp
diff options
context:
space:
mode:
authorJoe Kirchoff <[email protected]>2022-04-14 11:58:08 -0700
committerGitHub <[email protected]>2022-04-14 11:58:08 -0700
commitc07ab0b4114a73de3665492c5b62061a8877e25a (patch)
tree664f90dd73302239efa955412759fe59604ff268 /zenserver/compute/function.cpp
parentclang format (diff)
downloadzen-c07ab0b4114a73de3665492c5b62061a8877e25a.tar.xz
zen-c07ab0b4114a73de3665492c5b62061a8877e25a.zip
Compute updates (#74)
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)