_queue = "";
_job_type = "";
+ // Parameters for COORM
+ _launcher_file = "";
+ _launcher_args = "";
+
#ifdef WITH_LIBBATCH
_batch_job = new Batch::Job();
#endif
return _state;
}
+// Get names or ids of hosts assigned to the job
+std::string
+Launcher::Job::getAssignedHostnames()
+{
+ return _assigned_hostnames;
+}
+
void
Launcher::Job::setNumber(const int & number)
{
_maximum_duration = maximum_duration;
}
+// For COORM
+void
+Launcher::Job::setLauncherFile(const std::string & launcher_file)
+{
+ _launcher_file = launcher_file;
+}
+void
+Launcher::Job::setLauncherArgs(const std::string & launcher_args)
+{
+ _launcher_args = launcher_args;
+}
+
void
Launcher::Job::setResourceRequiredParams(const resourceParams & resource_required_params)
{
return _maximum_duration;
}
+// For COORM
+std::string
+Launcher::Job::getLauncherFile()
+{
+ return _launcher_file;
+}
+std::string
+Launcher::Job::getLauncherArgs()
+{
+ return _launcher_args;
+}
+
resourceParams
Launcher::Job::getResourceRequiredParams()
{
Batch::JobInfo job_info = _batch_job_id.queryJob();
Batch::Parametre par = job_info.getParametre();
_state = par[Batch::STATE].str();
+ _assigned_hostnames = (par.find(Batch::ASSIGNEDHOSTNAMES) == par.end())?
+ "" : par[Batch::ASSIGNEDHOSTNAMES].str();
LAUNCHER_MESSAGE("State received is: " << par[Batch::STATE].str());
}
#endif
}
params[Batch::WORKDIR] = _work_directory;
+ // Parameters for COORM
+ params[Batch::LAUNCHER_FILE] = _launcher_file;
+ params[Batch::LAUNCHER_ARGS] = _launcher_args;
+
// If result_directory is not defined, we use HOME environnement
if (_result_directory == "")
_result_directory = getenv("HOME");
xmlNewChild(node, NULL, xmlCharStrdup("local_directory"), xmlCharStrdup(getLocalDirectory().c_str()));
xmlNewChild(node, NULL, xmlCharStrdup("result_directory"), xmlCharStrdup(getResultDirectory().c_str()));
+ // Parameters for COORM
+ xmlNewChild(node, NULL, xmlCharStrdup("launcher_file"), xmlCharStrdup(getLauncherFile().c_str()));
+
// Files
xmlNodePtr files_node = xmlNewChild(node, NULL, xmlCharStrdup("files"), NULL);
std::list<std::string> in_files = get_in_files();
xmlNewChild(node, NULL, xmlCharStrdup("maximum_duration"), xmlCharStrdup(getMaximumDuration().c_str()));
xmlNewChild(node, NULL, xmlCharStrdup("queue"), xmlCharStrdup(getQueue().c_str()));
+ // For COORM
+ xmlNewChild(node, NULL, xmlCharStrdup("launcher_args"), xmlCharStrdup(getLauncherArgs().c_str()));
+
// Specific parameters part
xmlNodePtr specific_parameters_node = xmlNewChild(node, NULL, xmlCharStrdup("specific_parameters"), NULL);
std::map<std::string, std::string> specific_parameters = getSpecificParameters();