diff options
| author | aneporada <[email protected]> | 2026-04-03 12:09:18 +0300 |
|---|---|---|
| committer | aneporada <[email protected]> | 2026-04-03 12:50:44 +0300 |
| commit | 16d86dfe821de1e6eb4ca8e255ab3853cf179763 (patch) | |
| tree | 48df032a6f96c4d30bfda509a409c067e5883415 /yt/cpp/mapreduce/client/init.cpp | |
| parent | dff5b389f1afa26d501c95b92b6c4fd5ede127bc (diff) | |
Support passing jobstate via env variable in operation spec
commit_hash:dc21655a5449d9e1d58b46e933baa3eae2c6e04a
Diffstat (limited to 'yt/cpp/mapreduce/client/init.cpp')
| -rw-r--r-- | yt/cpp/mapreduce/client/init.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/yt/cpp/mapreduce/client/init.cpp b/yt/cpp/mapreduce/client/init.cpp index 8c21c8602d6..d4ad7f8769c 100644 --- a/yt/cpp/mapreduce/client/init.cpp +++ b/yt/cpp/mapreduce/client/init.cpp @@ -2,6 +2,7 @@ #include "abortable_registry.h" #include "job_profiler.h" +#include "pack_jobstate.h" #include <yt/cpp/mapreduce/http/requests.h> @@ -243,10 +244,12 @@ void ExecJob(int argc, const char** argv, const TInitializeOptions& options) NDetail::OutputTableCount = static_cast<i64>(outputTableCount); std::unique_ptr<IInputStream> jobStateStream; - if (hasState) { - jobStateStream = std::make_unique<TIFStream>("jobstate"); - } else { + if (!hasState) { jobStateStream = std::make_unique<TBufferStream>(0); + } else if (auto jobState = TryGetEnv("YT_JOB_STATE")) { + jobStateStream = std::make_unique<TStringStream>(UnpackJobState(*jobState)); + } else { + jobStateStream = std::make_unique<TIFStream>("jobstate"); } int ret = 1; |
