-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "BatchTest.hxx"
#include "OpUtil.hxx"
#include "SALOME_ContainerManager.hxx"
+#include "SALOME_NamingService.hxx"
+#include "SALOME_ResourcesManager.hxx"
#include "Utils_CorbaException.hxx"
#include "Launcher_Job_YACSFile.hxx"
#include "Launcher_Job_PythonSALOME.hxx"
+#include "utilities.h"
+
#ifdef WIN32
# include <process.h>
#else
_NS = new SALOME_NamingService(orb);
_ResManager = new SALOME_ResourcesManager(orb,poa,_NS);
_l.SetResourcesManager(_ResManager->GetImpl());
- _ContManager = new SALOME_ContainerManager(orb,poa,_ResManager,_NS);
+ _ContManager = new SALOME_ContainerManager(orb,poa,_NS);
_ResManager->_remove_ref();
_ContManager->_remove_ref();
// Memory required per CPU
new_job->setMemPerCpu(job_parameters.mem_per_cpu);
+ // WC Key
+ std::string wckey = job_parameters.wckey.in();
+ new_job->setWCKey(wckey);
+
+ // Extra params
+ std::string extra_params = job_parameters.extra_params.in();
+ new_job->setExtraParams(extra_params);
+
// Resources requirements
try
{
return rtn;
}
+CORBA::Boolean
+SALOME_Launcher::getJobWorkFile(CORBA::Long job_id, const char * work_file, const char * directory)
+{
+ CORBA::Boolean rtn = false;
+ try
+ {
+ rtn = _l.getJobWorkFile(job_id, work_file, directory);
+ }
+ catch(const LauncherException &ex)
+ {
+ INFOS(ex.msg.c_str());
+ THROW_SALOME_CORBA_EXCEPTION(ex.msg.c_str(),SALOME::BAD_PARAM);
+ }
+ return rtn;
+}
+
void
SALOME_Launcher::removeJob(CORBA::Long job_id)
{
/*! CORBA Method:
* Create a job in the launcher with a file
* \param xmlExecuteFile : .xml to parse that contains job description
- * \param clusterName : machine choosed
+ * \param clusterName : machine chosen
*/
//=============================================================================
CORBA::Long
job_parameters->queue = CORBA::string_dup(job->getQueue().c_str());
job_parameters->exclusive = job->getExclusive();
job_parameters->mem_per_cpu = job->getMemPerCpu();
+ job_parameters->wckey = CORBA::string_dup(job->getWCKey().c_str());
+ job_parameters->extra_params = CORBA::string_dup(job->getExtraParams().c_str());
resourceParams resource_params = job->getResourceRequiredParams();
job_parameters->resource_required.name = CORBA::string_dup(resource_params.name.c_str());
void
SALOME_Launcher::loadJobs(const char* jobs_file)
{
- // Load the jobs in Launcher
- list<int> new_jobs_id_list = _l.loadJobs(jobs_file);
+ list<int> new_jobs_id_list;
+ try
+ {
+ // Load the jobs in Launcher
+ new_jobs_id_list = _l.loadJobs(jobs_file);
+ }
+ catch (const LauncherException & ex)
+ {
+ INFOS(ex.msg.c_str());
+ THROW_SALOME_CORBA_EXCEPTION(ex.msg.c_str(), SALOME::INTERNAL_ERROR);
+ }
// Notify observers of the new jobs
list<int>::const_iterator it_jobs_id;