From 070d2ceddff900b1c98fbb7b2e0af816daded206 Mon Sep 17 00:00:00 2001 From: Ian Roddis Date: Tue, 18 Jan 2022 10:54:25 -0400 Subject: [PATCH] Adding support for environment variables --- libdaggy/src/executors/task/SSHTaskExecutor.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libdaggy/src/executors/task/SSHTaskExecutor.cpp b/libdaggy/src/executors/task/SSHTaskExecutor.cpp index 61a796b..56777db 100644 --- a/libdaggy/src/executors/task/SSHTaskExecutor.cpp +++ b/libdaggy/src/executors/task/SSHTaskExecutor.cpp @@ -64,6 +64,21 @@ TaskFuture SSHTaskExecutor::execute(DAGRunID runID, const std::string &taskName, host->memoryMB -= memoryMBNeeded; Task sshTask{task}; newCommand.push_back(user + hostname); + + if (task.job.count("environment") > 0) { + std::stringstream ss; + const auto env = + std::get>(task.job.at("environment")); + for (const auto &var : env) { + ss.clear(); + ss << std::quoted(var); + newCommand.push_back("export"); + newCommand.push_back(ss.str()); + newCommand.push_back(";"); + } + // std::copy(env.begin(), env.end(), std::back_inserter(newCommand)); + } + const auto oldCommand = std::get>(task.job.at("command")); std::copy(oldCommand.begin(), oldCommand.end(),