X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FContainer%2FSALOME_ContainerManager.hxx;h=e543d20744805bfd4e7e297398c2948c79c3e0d7;hb=e61c3f5e439eae3822cb22176c5493668e5a7df5;hp=3aa4b4a7e04c237e5c2fa8f4b55833b1ede9ec2c;hpb=06054a4a8067ee7835f5b6c3fd57a3b029b7c3fb;p=modules%2Fkernel.git diff --git a/src/Container/SALOME_ContainerManager.hxx b/src/Container/SALOME_ContainerManager.hxx index 3aa4b4a7e..e543d2074 100644 --- a/src/Container/SALOME_ContainerManager.hxx +++ b/src/Container/SALOME_ContainerManager.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 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 @@ -28,8 +28,7 @@ #include #include CORBA_CLIENT_HEADER(SALOME_Component) #include CORBA_CLIENT_HEADER(SALOME_ContainerManager) -#include "SALOME_ResourcesManager.hxx" -#include "SALOME_LoadRateManager.hxx" +#include "SALOME_ResourcesCatalog_Parser.hxx" #include "Utils_Mutex.hxx" @@ -37,12 +36,13 @@ #include class SALOME_NamingService; +class SALOME_ResourcesManager_Client; class CONTAINER_EXPORT SALOME_ContainerManager : public POA_Engines::ContainerManager { public: - SALOME_ContainerManager(CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_ResourcesManager *rm, SALOME_NamingService *ns); + SALOME_ContainerManager(CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_NamingService *ns); ~SALOME_ContainerManager(); // Corba Methods @@ -66,7 +66,7 @@ protected: const std::string& resource); std::string BuildCommandToLaunchRemoteContainer(const std::string & resource_name, - const Engines::ContainerParameters& params, + const Engines::ContainerParameters& params, const std::string& container_exe="SALOME_Container") const; std::string BuildCommandToLaunchLocalContainer(const Engines::ContainerParameters& params, @@ -75,15 +75,13 @@ protected: std::string& tmpFileName) const; std::string BuildTempFileToLaunchRemoteContainer(const std::string& resource_name, - const Engines::ContainerParameters& params, std::string& tmpFileName) const throw(SALOME_Exception); + const Engines::ContainerParameters& params, std::string& tmpFileName) const; static void RmTmpFile(std::string& tmpFile); void AddOmninamesParams(std::string& command) const; - void AddOmninamesParams(std::ostringstream& oss) const; - - void AddOmninamesParams(std::ofstream& fileStream) const; + void AddOmninamesParams(std::ostream& fileStream) const; static std::string BuildTemporaryFileName(); @@ -105,10 +103,10 @@ protected: CORBA::ORB_var _orb; PortableServer::POA_var _poa; - SALOME_ResourcesManager *_ResManager; + SALOME_ResourcesManager_Client *_resManager; SALOME_NamingService *_NS; - //! different behaviour if $APPLI exists (SALOME Application) + //! different behaviour if $APPLI exists (SALOME Application) bool _isAppliSalomeDefined; //! attribute that contains the number of processes used in batch mode by MPI containers @@ -126,7 +124,7 @@ protected: bool checkPaCOParameters(Engines::ContainerParameters & params, std::string resource_selected); - Engines::Container_ptr + Engines::Container_ptr StartPaCOPPContainer(const Engines::ContainerParameters& params, std::string resource_selected); @@ -137,31 +135,37 @@ protected: std::string BuildCommandToLaunchPaCONodeContainer(const Engines::ContainerParameters& params, const std::string & machine_file_name, - SALOME_ContainerManager::actual_launch_machine_t & vect_machine, - const std::string & proxy_hostname); + SALOME_ContainerManager::actual_launch_machine_t & vect_machine, + const std::string & proxy_hostname); void LogConfiguration(const std::string & log_type, const std::string & exe_type, const std::string & container_name, const std::string & hostname, - std::string & begin, + std::string & begin, std::string & end); - CORBA::Object_ptr - LaunchPaCOProxyContainer(const std::string& command, + CORBA::Object_ptr + LaunchPaCOProxyContainer(const std::string& command, const Engines::ContainerParameters& params, const std::string& hostname); - bool - LaunchPaCONodeContainer(const std::string& command, + bool + LaunchPaCONodeContainer(const std::string& command, const Engines::ContainerParameters& params, const std::string& name, SALOME_ContainerManager::actual_launch_machine_t & vect_machine); // End of PaCO++ Parallel extension public: static char *GetenvThreadSafe(const char *name); + static std::string GetenvThreadSafeAsString(const char *name); static int SystemThreadSafe(const char *command); -private: + static void AddOmninamesParams(std::ostream& fileStream, SALOME_NamingService *ns); + static void MakeTheCommandToBeLaunchedASync(std::string& command); + static int GetTimeOutToLoaunchServer(); + static void SleepInSecond(int ellapseTimeInSecond); + private: + static const int TIME_OUT_TO_LAUNCH_CONT; static Utils_Mutex _getenvMutex; static Utils_Mutex _systemMutex; };