Adding support for environment variables
This commit is contained in:
@@ -64,6 +64,21 @@ TaskFuture SSHTaskExecutor::execute(DAGRunID runID, const std::string &taskName,
|
|||||||
host->memoryMB -= memoryMBNeeded;
|
host->memoryMB -= memoryMBNeeded;
|
||||||
Task sshTask{task};
|
Task sshTask{task};
|
||||||
newCommand.push_back(user + hostname);
|
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 =
|
const auto oldCommand =
|
||||||
std::get<std::vector<std::string>>(task.job.at("command"));
|
std::get<std::vector<std::string>>(task.job.at("command"));
|
||||||
std::copy(oldCommand.begin(), oldCommand.end(),
|
std::copy(oldCommand.begin(), oldCommand.end(),
|
||||||
|
|||||||
Reference in New Issue
Block a user