aboutsummaryrefslogtreecommitdiff
path: root/src/zencompute/functionrunner.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-03-04 14:13:46 +0100
committerGitHub Enterprise <[email protected]>2026-03-04 14:13:46 +0100
commit0763d09a81e5a1d3df11763a7ec75e7860c9510a (patch)
tree074575ba6ea259044a179eab0bb396d37268fb09 /src/zencompute/functionrunner.cpp
parentnative xmake toolchain definition for UE-clang (#805) (diff)
downloadarchived-zen-0763d09a81e5a1d3df11763a7ec75e7860c9510a.tar.xz
archived-zen-0763d09a81e5a1d3df11763a7ec75e7860c9510a.zip
compute orchestration (#763)
- Added local process runners for Linux/Wine, Mac with some sandboxing support - Horde & Nomad provisioning for development and testing - Client session queues with lifecycle management (active/draining/cancelled), automatic retry with configurable limits, and manual reschedule API - Improved web UI for orchestrator, compute, and hub dashboards with WebSocket push updates - Some security hardening - Improved scalability and `zen exec` command Still experimental - compute support is disabled by default
Diffstat (limited to 'src/zencompute/functionrunner.cpp')
-rw-r--r--src/zencompute/functionrunner.cpp112
1 files changed, 0 insertions, 112 deletions
diff --git a/src/zencompute/functionrunner.cpp b/src/zencompute/functionrunner.cpp
deleted file mode 100644
index 8e7c12b2b..000000000
--- a/src/zencompute/functionrunner.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright Epic Games, Inc. All Rights Reserved.
-
-#include "functionrunner.h"
-
-#if ZEN_WITH_COMPUTE_SERVICES
-
-# include <zencore/compactbinary.h>
-# include <zencore/filesystem.h>
-
-# include <fmt/format.h>
-# include <vector>
-
-namespace zen::compute {
-
-FunctionRunner::FunctionRunner(std::filesystem::path BasePath) : m_ActionsPath(BasePath / "actions")
-{
-}
-
-FunctionRunner::~FunctionRunner() = default;
-
-size_t
-FunctionRunner::QueryCapacity()
-{
- return 1;
-}
-
-std::vector<SubmitResult>
-FunctionRunner::SubmitActions(const std::vector<Ref<RunnerAction>>& Actions)
-{
- std::vector<SubmitResult> Results;
- Results.reserve(Actions.size());
-
- for (const Ref<RunnerAction>& Action : Actions)
- {
- Results.push_back(SubmitAction(Action));
- }
-
- return Results;
-}
-
-void
-FunctionRunner::MaybeDumpAction(int ActionLsn, const CbObject& ActionObject)
-{
- if (m_DumpActions)
- {
- std::string UniqueId = fmt::format("{}.ddb", ActionLsn);
- std::filesystem::path Path = m_ActionsPath / UniqueId;
-
- zen::WriteFile(Path, IoBuffer(ActionObject.GetBuffer().AsIoBuffer()));
- }
-}
-
-//////////////////////////////////////////////////////////////////////////
-
-RunnerAction::RunnerAction(FunctionServiceSession* OwnerSession) : m_OwnerSession(OwnerSession)
-{
- this->Timestamps[static_cast<int>(State::New)] = DateTime::Now().GetTicks();
-}
-
-RunnerAction::~RunnerAction()
-{
-}
-
-void
-RunnerAction::SetActionState(State NewState)
-{
- ZEN_ASSERT(NewState < State::_Count);
- this->Timestamps[static_cast<int>(NewState)] = DateTime::Now().GetTicks();
-
- do
- {
- if (State CurrentState = m_ActionState.load(); CurrentState == NewState)
- {
- // No state change
- return;
- }
- else
- {
- if (NewState <= CurrentState)
- {
- // Cannot transition to an earlier or same state
- return;
- }
-
- if (m_ActionState.compare_exchange_strong(CurrentState, NewState))
- {
- // Successful state change
-
- m_OwnerSession->PostUpdate(this);
-
- return;
- }
- }
- } while (true);
-}
-
-void
-RunnerAction::SetResult(CbPackage&& Result)
-{
- m_Result = std::move(Result);
-}
-
-CbPackage&
-RunnerAction::GetResult()
-{
- ZEN_ASSERT(IsCompleted());
- return m_Result;
-}
-
-} // namespace zen::compute
-
-#endif // ZEN_WITH_COMPUTE_SERVICES \ No newline at end of file