-// Copyright (C) 2009-2016 CEA/DEN, EDF R&D
+// Copyright (C) 2009-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
BL::SALOMEServices::initNS()
{
bool return_value = true;
- _salome_naming_service = new SALOME_NamingService(_orb);
+ _salome_naming_service = new BL_SALOME_NamingService_Wrapper(_orb);
_lcc = new SALOME_LifeCycleCORBA(_salome_naming_service);
CORBA::Object_var obj = _salome_naming_service->Resolve("/SalomeLauncher");
_salome_launcher = Engines::SalomeLauncher::_narrow(obj);
{
job_parameters->job_type = CORBA::string_dup("python_salome");
}
+ else if (job->getType() == BL::Job::COMMAND_SALOME)
+ {
+ job_parameters->job_type = CORBA::string_dup("command_salome");
+ }
// Specific parameters
if (job->getType() == BL::Job::YACS_SCHEMA)
new_parameter->value = CORBA::string_dup(oss.str().c_str());
job_parameters->specific_parameters[job_parameters->specific_parameters.length() - 1] = new_parameter;
}
+ if (!job->getYacsDriverOptions().empty())
+ {
+ job_parameters->specific_parameters.length(job_parameters->specific_parameters.length() + 1);
+ Engines::Parameter_var new_parameter = new Engines::Parameter;
+ new_parameter->name = CORBA::string_dup("YACSDriverOptions");
+ new_parameter->value = CORBA::string_dup(job->getYacsDriverOptions().c_str());
+ job_parameters->specific_parameters[job_parameters->specific_parameters.length() - 1] = new_parameter;
+ }
}
if (job->getLoadLevelerJobType() != "")
{
job_parameters->job_name = CORBA::string_dup(job->getName().c_str());
job_parameters->job_file = CORBA::string_dup(job->getJobFile().c_str());
job_parameters->env_file = CORBA::string_dup(job->getEnvFile().c_str());
+ job_parameters->pre_command = CORBA::string_dup(job->getPreCommand().c_str());
BL::Job::FilesParam files = job->getFilesParameters();
std::list<std::string>::iterator it;
int i = 0;
job_parameters->maximum_duration = CORBA::string_dup(cpp_batch_params.maximum_duration.c_str());
job_parameters->resource_required.name = CORBA::string_dup(job->getResource().c_str());
job_parameters->resource_required.nb_proc = cpp_batch_params.nb_proc;
+ job_parameters->resource_required.nb_node = cpp_batch_params.nb_node;
job_parameters->queue = CORBA::string_dup(job->getBatchQueue().c_str());
+ job_parameters->partition = CORBA::string_dup(job->getBatchPartition().c_str());
job_parameters->exclusive = cpp_batch_params.exclusive;
job_parameters->wckey = CORBA::string_dup(job->getWCKey().c_str());
job_parameters->extra_params = CORBA::string_dup(job->getExtraParams().c_str());
}
// Unused parameters
- job_parameters->resource_required.nb_node = -1;
job_parameters->resource_required.nb_proc_per_node = -1;
job_parameters->resource_required.cpu_clock = -1;
job_return->setType(job_parameters->job_type.in());
job_return->setJobFile(job_parameters->job_file.in());
job_return->setEnvFile(job_parameters->env_file.in());
+ job_return->setPreCommand(job_parameters->pre_command.in());
job_return->setBatchQueue(job_parameters->queue.in());
+ job_return->setBatchPartition(job_parameters->partition.in());
job_return->setWCKey(job_parameters->wckey.in());
job_return->setExtraParams(job_parameters->extra_params.in());
batch_param.batch_directory = job_parameters->work_directory.in();
batch_param.maximum_duration = job_parameters->maximum_duration.in();
batch_param.nb_proc = job_parameters->resource_required.nb_proc;
+ batch_param.nb_node = job_parameters->resource_required.nb_node;
batch_param.exclusive = job_parameters->exclusive;
if (job_parameters->mem_per_cpu != 0)
iss >> value;
job_return->setDumpYACSState(value);
}
+ if (std::string(job_parameters->specific_parameters[i].name.in()) == "YACSDriverOptions")
+ {
+ std::string user_value = job_parameters->specific_parameters[i].value.in();
+ job_return->setYacsDriverOptions(user_value);
+ }
if (std::string(job_parameters->specific_parameters[i].name.in()) == "LoalLevelerJobType")
{
std::string user_value = job_parameters->specific_parameters[i].value.in();