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(),