Adding support for environment variables

This commit is contained in:
Ian Roddis
2022-01-18 10:54:25 -04:00
parent 2784aeee28
commit 070d2ceddf

View File

@@ -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<std::vector<std::string>>(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<std::vector<std::string>>(task.job.at("command"));
std::copy(oldCommand.begin(), oldCommand.end(),