Version: 9.16.0
Engines_MPIContainer_i Class Reference

#include <MPIContainer_i.hxx>

Inheritance diagram for Engines_MPIContainer_i:

Public Member Functions

 Engines_MPIContainer_i (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, char *containerName, int argc, char *argv[])
 
 Engines_MPIContainer_i ()
 
 ~Engines_MPIContainer_i ()
 
void Shutdown ()
 
bool load_component_Library (const char *componentName, CORBA::String_out reason)
 load a component implementation More...
 
virtual Engines::EngineComponent_ptr create_component_instance_env (const char *componentName, const Engines::FieldsDict &env, CORBA::String_out reason)
 Create a new component instance with environment variables specified. More...
 
Engines::EngineComponent_ptr load_impl (const char *nameToRegister, const char *componentName)
 
void remove_impl (Engines::EngineComponent_ptr component_i)
 
void finalize_removal ()
 
bool isSSLMode () const override
 
std::string getPyContainerClassName () const
 
virtual Engines::EngineComponent_ptr create_component_instance (const char *componentName)
 Create a new component instance. More...
 
void override_environment_python (const Engines::FieldsDict &env) override
 
void override_environment (const Engines::FieldsDict &env) override
 
Engines::FieldsDictget_os_environment () override
 
void set_big_obj_on_disk_threshold (CORBA::Long thresholdInByte) override
 
void set_big_obj_on_disk_directory (const char *directory) override
 
void set_number_of_retry (CORBA::Long nbRetry) override
 
void set_timeout_before_retrying (CORBA::Long timeInSecond) override
 
void set_current_directory (const char *cwd) override
 
void set_directory_for_replay_files (const char *directory) override
 
void set_startup_code (const char *codeAtStartUp) override
 
charget_startup_code () override
 
void addLogFileNameGroup (const Engines::vectorOfString &groupOfLogFileNames) override
 
Engines::vectorOfVectorOfStringgetAllLogFileNameGroups () override
 
void execute_python_code (const char *code) override
 
virtual charcreate_python_service_instance (const char *CompName, CORBA::String_out reason)
 
Engines::EngineComponent_ptr find_component_instance (const char *registeredName)
 Find an existing (in the container) component instance. More...
 
bool is_SSL_mode () override
 
Engines::EmbeddedNamingService_ptr get_embedded_NS_if_ssl () override
 
SALOME_NamingService_Container_AbstractgetNS () const
 
virtual void ping ()
 Ping the servant to check it is still alive. More...
 
CORBA::Long getNumberOfCPUCores ()
 Get number of CPU cores in the calculation node. More...
 
Engines::vectorOfDoubleloadOfCPUCores ()
 
void setPyScriptForCPULoad (const char *script)
 Set custom script to calculate a load of each CPU core. More...
 
void resetScriptForCPULoad ()
 Nullify custom script to calculate each CPU core's load. More...
 
CORBA::Long getTotalPhysicalMemory ()
 Get total physical memory of calculation node, in megabytes. More...
 
CORBA::Long getTotalPhysicalMemoryInUse ()
 Get used physical memory of calculation node, in megabytes. More...
 
CORBA::Long getTotalPhysicalMemoryInUseByMe ()
 Obtain physical memory, used by the current process, in megabytes. More...
 
charname ()
 Get container name. More...
 
charworkingdir ()
 Get container working directory. More...
 
charlogfilename () override
 Get container log file name. More...
 
void logfilename (const char *name) override
 Set container log file name. More...
 
charlocallogfilename () override
 
void locallogfilename (const char *name) override
 
CORBA::Long monitoringtimeresms () override
 
void monitoringtimeresms (CORBA::Long intervalInMs) override
 
void verbosity (bool &activated, CORBA::String_out level) override
 
void setVerbosity (bool activated, const char *level) override
 
void ShutdownNow () override
 
chargetHostName ()
 Get container host name. More...
 
CORBA::Long getPID ()
 Get container PID. More...
 
bool Kill_impl ()
 Kill current container. More...
 
Engines::fileRef_ptr createFileRef (const char *origFileName)
 Get or create a file reference object associated to a local file (to transfer it) More...
 
Engines::fileTransfer_ptr getFileTransfer ()
 Get a fileTransfer reference. More...
 
virtual Engines::Salome_file_ptr createSalome_file (const char *origFileName)
 Create a Salome file. More...
 
void copyFile (Engines::Container_ptr container, const char *remoteFile, const char *localFile)
 copy a file from a remote host (container) to the local host More...
 
Engines::PyNode_ptr createPyNode (const char *nodeName, const char *code)
 create a PyNode object to execute remote python code More...
 
Engines::PyNode_ptr getDefaultPyNode (const char *nodeName)
 Retrieves the last created PyNode instance with createPyNode. More...
 
Engines::PyScriptNode_ptr createPyScriptNode (const char *nodeName, const char *code)
 create a PyScriptNode object to execute remote python code More...
 
void removePyScriptNode (const char *nodeName) override
 
void cleanAllPyScripts () override
 
Engines::PyScriptNode_ptr getDefaultPyScriptNode (const char *nodeName)
 Retrieves the last created PyScriptNode instance with createPyScriptNode. More...
 
Engines::EngineComponent_ptr find_or_create_instance (std::string genericRegisterName, std::string componentLibraryName)
 Finds an already existing component instance or create a new instance. More...
 
bool load_component_CppImplementation (const char *componentName, std::string &reason)
 try to load a C++ component implementation More...
 
bool load_component_PythonImplementation (const char *componentName, std::string &reason)
 try to load a Python component implementation More...
 
bool load_component_ExecutableImplementation (const char *componentName, std::string &reason)
 try to load a Executable component implementation More...
 
Engines::EngineComponent_ptr createPythonInstance (std::string CompName, std::string &error)
 Create a new component instance (Python implementation) More...
 
Engines::EngineComponent_ptr createExecutableInstance (std::string CompName, const Engines::FieldsDict &env, std::string &error)
 Create a new component instance (Executable implementation) More...
 
Engines::EngineComponent_ptr createInstance (std::string genericRegisterName, void *handle, std::string &error)
 Create a new component instance (C++ implementation) More...
 
int getArgc ()
 
char ** getArgv ()
 
void registerTemporaryFile (const std::string &fileName)
 
void unregisterTemporaryFile (const std::string &fileName)
 
void clearTemporaryFiles ()
 
PortableServer::ObjectId * getCORBAId () const
 
Engines::IORTabtior ()
 
void tior (const Engines::IORTab &ior)
 

Static Public Member Functions

static bool isPythonContainer (const char *ContainerName)
 Indicate if container is a python one. More...
 
static void decInstanceCnt (std::string genericRegisterName)
 Decrement component instance reference count. More...
 

Static Public Attributes

static const int DFT_TIME_INTERVAL_BTW_MEASURE = 500
 

Protected Member Functions

void BCastIOR (CORBA::ORB_ptr orb, Engines::MPIObject_ptr pobj, bool amiCont)
 

Protected Attributes

bool _isSupervContainer
 
SALOME_NamingService_Container_Abstract_NS
 
std::string _library_path
 
std::string _containerName
 
std::string _logfilename
 
std::string _localfilename
 
std::string _load_script
 
std::string _py_container_name
 
std::string _code_at_startup
 
CORBA::ORB_var _orb
 
PortableServer::POA_var _poa
 
PortableServer::ObjectId * _id
 
int _numInstance
 
std::map< std::string, Engines::EngineComponent_var > _listInstances_map
 
std::map< std::string, Engines::fileRef_var > _fileRef_map
 
std::map< std::string, Engines::Salome_file_var > _Salome_file_map
 
std::map< std::string, Engines::PyScriptNode_var > _dftPyScriptNode
 
std::map< std::string, Engines::PyNode_var > _dftPyNode
 
Utils_Mutex _mutexForDftPy
 
std::list< std::string > _tmp_files
 
Engines::fileTransfer_var _fileTransfer
 
std::vector< std::vector< std::string > > _groups_of_log_files
 
int _argc
 
char ** _argv
 
long _pid
 
bool _isServantAloneInProcess
 
int _numproc
 
int _nbproc
 
Engines::IORTab_tior
 
std::map< std::string, MPI_Comm > _gcom
 

Static Protected Attributes

static std::map< std::string, int > _cntInstances_map
 
static std::map< std::string, void * > _library_map
 
static std::map< std::string, void * > _toRemove_map
 
static omni_mutex _numInstanceMutex
 

Private Member Functions

bool Lload_component_Library (const char *componentName)
 
Engines::EngineComponent_ptr Lcreate_component_instance (const char *componentName)
 
Engines::EngineComponent_ptr Lload_impl (const char *nameToRegister, const char *componentName)
 
Engines::EngineComponent_ptr createMPIInstance (std::string genericRegisterName, void *handle)
 
void ShutdownCommonPart ()
 

Private Attributes

std::map< std::string, MPI_Comm > _icom
 
std::map< std::string, bool_srv
 
std::map< std::string, std::string > _port_name
 

Constructor & Destructor Documentation

◆ Engines_MPIContainer_i() [1/2]

◆ Engines_MPIContainer_i() [2/2]

Engines_MPIContainer_i::Engines_MPIContainer_i ( )

◆ ~Engines_MPIContainer_i()

Engines_MPIContainer_i::~Engines_MPIContainer_i ( void  )

References MPIObject_i::_numproc, and MESSAGE.

Member Function Documentation

◆ addLogFileNameGroup()

void Abstract_Engines_Container_i::addLogFileNameGroup ( const Engines::vectorOfString groupOfLogFileNames)
overrideinherited

◆ BCastIOR()

void MPIObject_i::BCastIOR ( CORBA::ORB_ptr  orb,
Engines::MPIObject_ptr  pobj,
bool  amiCont 
)
protectedinherited

◆ cleanAllPyScripts()

◆ clearTemporaryFiles()

void Abstract_Engines_Container_i::clearTemporaryFiles ( )
inherited

◆ copyFile()

void Abstract_Engines_Container_i::copyFile ( Engines::Container_ptr  container,
const char remoteFile,
const char localFile 
)
inherited

copy a file from a remote host (container) to the local host

Parameters
containerthe remote container
remoteFilethe file to copy locally from the remote host into localFile
localFilethe local file

References TestComponentPy::container, and MESSAGE.

◆ create_component_instance()

Engines::EngineComponent_ptr Abstract_Engines_Container_i::create_component_instance ( const char genericRegisterName)
virtualinherited

Create a new component instance.

CORBA method: Creates a new servant instance of a component. The servant registers itself to naming service and Registry.tdlib

Parameters
genericRegisterNameName of the component instance to register in Registry & Name Service (without _inst_n suffix)
Returns
a loaded component

References Abstract_Engines_Container_i::create_component_instance_env().

Referenced by SALOME_ContainerPy.SALOME_ContainerPy_Gen_i::create_component_instance_env(), and SALOME_ContainerPy.SALOME_ContainerPy_Gen_i::create_python_service_instance().

◆ create_component_instance_env()

Engines::EngineComponent_ptr Engines_MPIContainer_i::create_component_instance_env ( const char genericRegisterName,
const Engines::FieldsDict env,
CORBA::String_out  reason 
)
virtual

Create a new component instance with environment variables specified.

CORBA method: Creates a new servant instance of a component. The servant registers itself to naming service and Registry.

Parameters
genericRegisterNameName of the component instance to register in Registry & Name Service (without _inst_n suffix)
envdict of env variables
reasonexplains error when create_component_instance_env fails
Returns
a loaded component

Reimplemented from Abstract_Engines_Container_i.

References MPIObject_i::_nbproc, MPIObject_i::_numproc, MPIObject_i::_tior, Lcreate_component_instance(), TestSalomeSDS1::st, and th_createcomponentinstance().

◆ create_python_service_instance()

char * Abstract_Engines_Container_i::create_python_service_instance ( const char CompName,
CORBA::String_out  reason 
)
virtualinherited

◆ createExecutableInstance()

Engines::EngineComponent_ptr Abstract_Engines_Container_i::createExecutableInstance ( std::string  CompName,
const Engines::FieldsDict env,
std::string &  reason 
)
inherited

Create a new component instance (Executable implementation)

Parameters
CompNameName of the component instance
envdict of env variables
reasonexplains error when creation fails
Returns
a loaded component

This component is implemented in an executable with name genericRegisterName.exe It must register itself in Naming Service. The container waits some time (10 s max) it's registration.

References Abstract_Engines_Container_i::_containerName, Abstract_Engines_Container_i::_listInstances_map, Abstract_Engines_Container_i::_NS, Abstract_Engines_Container_i::_numInstance, Abstract_Engines_Container_i::_numInstanceMutex, Abstract_Engines_Container_i::_orb, TestKernelHelpers::command, SALOME_NamingService_Container_Abstract::Destroy_Name(), EffectiveOverrideEnvironment(), MESSAGE, KERNEL_PY.batchmode_salome::obj, SALOME_NamingService_Container_Abstract::Resolve(), and salomeContext::status.

Referenced by Abstract_Engines_Container_i::create_component_instance_env().

◆ createFileRef()

Engines::fileRef_ptr Abstract_Engines_Container_i::createFileRef ( const char origFileName)
inherited

Get or create a file reference object associated to a local file (to transfer it)

CORBA method: get or create a fileRef object associated to a local file (a file on the computer on which runs the container server), which stores a list of (machine, localFileName) corresponding to copies already done.

Parameters
origFileNameabsolute path for a local file to copy on other computers
Returns
a fileRef object associated to the file.

References Abstract_Engines_Container_i::_fileRef_map, Abstract_Engines_Container_i::_id, Abstract_Engines_Container_i::_numInstanceMutex, Abstract_Engines_Container_i::_poa, and KERNEL_PY.batchmode_salome::obj.

◆ createInstance()

Engines::EngineComponent_ptr Abstract_Engines_Container_i::createInstance ( std::string  genericRegisterName,
void *  handle,
std::string &  reason 
)
inherited

Create a new component instance (C++ implementation)

C++ method: create a servant instance of a component.

Parameters
genericRegisterNameName of the component instance to register in Registry & Name Service, (without _inst_n suffix, like "COMPONENT")
handleloaded library handle
reasonexplains error when creation fails
Returns
a loaded component

example with names:

  • aGenRegisterName = COMPONENT (= first argument)
  • _containerName = /Containers/cli76ce/FactoryServer
  • factoryName = COMPONENTEngine_factory
  • component_registerBase = /Containers/cli76ce/FactoryServer/COMPONENT
  • instanceName = COMPONENT_inst_1
  • component_registerName = /Containers/cli76ce/FactoryServer/COMPONENT_inst_1

References Abstract_Engines_Container_i::_cntInstances_map, Abstract_Engines_Container_i::_containerName, Abstract_Engines_Container_i::_id, Abstract_Engines_Container_i::_listInstances_map, Abstract_Engines_Container_i::_NS, Abstract_Engines_Container_i::_numInstance, Abstract_Engines_Container_i::_numInstanceMutex, Abstract_Engines_Container_i::_orb, Abstract_Engines_Container_i::_poa, MESSAGE, KERNEL_PY.batchmode_salome::obj, SALOME_NamingService_Container_Abstract::Register(), and SALOME_utilities::SCRUTE().

Referenced by Abstract_Engines_Container_i::create_component_instance_env(), and Abstract_Engines_Container_i::find_or_create_instance().

◆ createMPIInstance()

◆ createPyNode()

Engines::PyNode_ptr Abstract_Engines_Container_i::createPyNode ( const char nodeName,
const char code 
)
inherited

create a PyNode object to execute remote python code

Parameters
nodeNamethe name of the node
codethe python code to load
Returns
the PyNode

References Abstract_Engines_Container_i::_dftPyNode, Abstract_Engines_Container_i::_mutexForDftPy, Abstract_Engines_Container_i::_orb, _pyCont, SALOME::INTERNAL_ERROR, KERNEL_PY.batchmode_salome::obj, test::res, SALOME::ExceptionStruct::text, and SALOME::ExceptionStruct::type.

◆ createPyScriptNode()

Engines::PyScriptNode_ptr Abstract_Engines_Container_i::createPyScriptNode ( const char nodeName,
const char code 
)
inherited

◆ createPythonInstance()

Engines::EngineComponent_ptr Abstract_Engines_Container_i::createPythonInstance ( std::string  CompName,
std::string &  reason 
)
inherited

◆ createSalome_file()

Engines::Salome_file_ptr Abstract_Engines_Container_i::createSalome_file ( const char origFileName)
virtualinherited

◆ decInstanceCnt()

◆ execute_python_code()

void Abstract_Engines_Container_i::execute_python_code ( const char code)
overrideinherited

◆ finalize_removal()

◆ find_component_instance()

Engines::EngineComponent_ptr Abstract_Engines_Container_i::find_component_instance ( const char registeredName)
inherited

Find an existing (in the container) component instance.

CORBA method: Finds a servant instance of a component

Parameters
registeredNameName of the component in Registry or Name Service, without instance suffix number
Returns
the first found instance

References Abstract_Engines_Container_i::_listInstances_map, and SALOME_utilities::SCRUTE().

◆ find_or_create_instance()

Engines::EngineComponent_ptr Abstract_Engines_Container_i::find_or_create_instance ( std::string  genericRegisterName,
std::string  componentLibraryName 
)
inherited

Finds an already existing component instance or create a new instance.

C++ method: Finds an already existing servant instance of a component, or create an instance. -— USE ONLY FOR MULTISTUDY INSTANCES ! -----—

Parameters
genericRegisterNameName of the component instance to register in Registry & Name Service, (without _inst_n suffix, like "COMPONENT")
componentLibraryNamelike "libCOMPONENTEngine.so"
Returns
a loaded component

example with names:

  • aGenRegisterName = COMPONENT (= first argument)
  • impl_name = libCOMPONENTEngine.so (= second argument)
  • _containerName = /Containers/cli76ce/FactoryServer
  • factoryName = COMPONENTEngine_factory
  • component_registerBase = /Containers/cli76ce/FactoryServer/COMPONENT
  • instanceName = COMPONENT_inst_1
  • component_registerName = /Containers/cli76ce/FactoryServer/COMPONENT_inst_1

References Abstract_Engines_Container_i::_containerName, Abstract_Engines_Container_i::_library_map, Abstract_Engines_Container_i::_NS, Abstract_Engines_Container_i::createInstance(), KERNEL_PY.batchmode_salome::obj, and SALOME_NamingService_Container_Abstract::ResolveFirst().

Referenced by Abstract_Engines_Container_i::load_impl().

◆ get_embedded_NS_if_ssl()

Engines::EmbeddedNamingService_ptr Abstract_Engines_Container_i::get_embedded_NS_if_ssl ( )
overrideinherited

◆ get_os_environment()

Engines::FieldsDict * Abstract_Engines_Container_i::get_os_environment ( )
overrideinherited

◆ get_startup_code()

char * Abstract_Engines_Container_i::get_startup_code ( )
overrideinherited

◆ getAllLogFileNameGroups()

Engines::vectorOfVectorOfString * Abstract_Engines_Container_i::getAllLogFileNameGroups ( )
overrideinherited

◆ getArgc()

int Abstract_Engines_Container_i::getArgc ( )
inherited

◆ getArgv()

char ** Abstract_Engines_Container_i::getArgv ( )
inherited

◆ getCORBAId()

PortableServer::ObjectId * Abstract_Engines_Container_i::getCORBAId ( ) const
inherited

Referenced by KERNEL::getContainerSA().

◆ getDefaultPyNode()

Engines::PyNode_ptr Abstract_Engines_Container_i::getDefaultPyNode ( const char nodeName)
inherited

Retrieves the last created PyNode instance with createPyNode.

References Abstract_Engines_Container_i::_dftPyNode, and Abstract_Engines_Container_i::_mutexForDftPy.

◆ getDefaultPyScriptNode()

Engines::PyScriptNode_ptr Abstract_Engines_Container_i::getDefaultPyScriptNode ( const char nodeName)
inherited

Retrieves the last created PyScriptNode instance with createPyScriptNode.

References Abstract_Engines_Container_i::_dftPyScriptNode, and Abstract_Engines_Container_i::_mutexForDftPy.

◆ getFileTransfer()

Engines::fileTransfer_ptr Abstract_Engines_Container_i::getFileTransfer ( )
inherited

Get a fileTransfer reference.

CORBA method:

Returns
a reference to the fileTransfer object

References Abstract_Engines_Container_i::_fileTransfer.

◆ getHostName()

char * Abstract_Engines_Container_i::getHostName ( )
inherited

Get container host name.

CORBA method: Get the hostName of the Container (without domain extensions)

References Utils_Identity::s.

◆ getNS()

SALOME_NamingService_Container_Abstract * Abstract_Engines_Container_i::getNS ( ) const
inherited

◆ getNumberOfCPUCores()

CORBA::Long Abstract_Engines_Container_i::getNumberOfCPUCores ( )
inherited

Get number of CPU cores in the calculation node.

CORBA method: get number of CPU cores

Referenced by Abstract_Engines_Container_i::loadOfCPUCores().

◆ getPID()

CORBA::Long Abstract_Engines_Container_i::getPID ( )
inherited

Get container PID.

CORBA method: Get the PID (process identification) of the Container

◆ getPyContainerClassName()

std::string Abstract_Engines_Container_i::getPyContainerClassName ( ) const
inherited

◆ getTotalPhysicalMemory()

CORBA::Long Abstract_Engines_Container_i::getTotalPhysicalMemory ( )
inherited

Get total physical memory of calculation node, in megabytes.

CORBA method: get total physical memory of calculation node

◆ getTotalPhysicalMemoryInUse()

CORBA::Long Abstract_Engines_Container_i::getTotalPhysicalMemoryInUse ( )
inherited

Get used physical memory of calculation node, in megabytes.

CORBA method: get used physical memory of calculation node

◆ getTotalPhysicalMemoryInUseByMe()

CORBA::Long Abstract_Engines_Container_i::getTotalPhysicalMemoryInUseByMe ( )
inherited

Obtain physical memory, used by the current process, in megabytes.

CORBA method: get physical memory, used by the current process

◆ is_SSL_mode()

bool Abstract_Engines_Container_i::is_SSL_mode ( )
overrideinherited

◆ isPythonContainer()

bool Abstract_Engines_Container_i::isPythonContainer ( const char ContainerName)
staticinherited

Indicate if container is a python one.

Retrieves only with container naming convention if it is a python container

References TestKernelHelpers::ret.

◆ isSSLMode()

bool Engines_Container_i::isSSLMode ( ) const
overridevirtualinherited

◆ Kill_impl()

bool Abstract_Engines_Container_i::Kill_impl ( )
inherited

Kill current container.

Kill the container.

CORBA method: Kill the container process with exit(0). To remove : never returns !

References Abstract_Engines_Container_i::_containerName, and MESSAGE.

◆ Lcreate_component_instance()

◆ Lload_component_Library()

◆ Lload_impl()

◆ load_component_CppImplementation()

bool Abstract_Engines_Container_i::load_component_CppImplementation ( const char componentName,
std::string &  reason 
)
inherited

try to load a C++ component implementation

C++ method:

Parameters
componentNamethe name of the component (COMPONENT, for example)
reasonexplains error when load fails
Returns
true if loading is successful or already done, false otherwise

References Abstract_Engines_Container_i::_library_map, Abstract_Engines_Container_i::_numInstanceMutex, Abstract_Engines_Container_i::_toRemove_map, ENGINESO, findpathof(), LIB, MESSAGE, ORBConfigFile::path, SALOME_utilities::SCRUTE(), and SEP.

Referenced by Abstract_Engines_Container_i::load_component_Library().

◆ load_component_ExecutableImplementation()

bool Abstract_Engines_Container_i::load_component_ExecutableImplementation ( const char componentName,
std::string &  reason 
)
inherited

try to load a Executable component implementation

C++ method:

Parameters
componentNamename of the component
reasonexplains error when load fails
Returns
true if loading is successful or already done, false otherwise

References Abstract_Engines_Container_i::_library_map, Abstract_Engines_Container_i::_numInstanceMutex, checkifexecutable(), findpathof(), MESSAGE, and ORBConfigFile::path.

Referenced by Abstract_Engines_Container_i::load_component_Library().

◆ load_component_Library()

bool Engines_MPIContainer_i::load_component_Library ( const char componentName,
CORBA::String_out  reason 
)
virtual

load a component implementation

CORBA method

Parameters
componentNamecomponent name
reasonexplains error when load fails
Returns
true if dlopen successful or already done, false otherwise

Reimplemented from Abstract_Engines_Container_i.

References MPIObject_i::_nbproc, MPIObject_i::_numproc, MPIObject_i::_tior, Lload_component_Library(), TestKernelHelpers::ret, TestSalomeSDS1::st, and th_loadcomponentlibrary().

◆ load_component_PythonImplementation()

bool Abstract_Engines_Container_i::load_component_PythonImplementation ( const char componentName,
std::string &  reason 
)
inherited

try to load a Python component implementation

C++ method:

Parameters
componentNamename of the component
reasonexplains error when load fails
Returns
true if loading is successful or already done, false otherwise

References Abstract_Engines_Container_i::_library_map, Abstract_Engines_Container_i::_numInstanceMutex, _pyCont, MESSAGE, and SALOME_utilities::SCRUTE().

Referenced by Abstract_Engines_Container_i::load_component_Library().

◆ load_impl()

Engines::EngineComponent_ptr Engines_MPIContainer_i::load_impl ( const char nameToRegister,
const char componentName 
)

◆ loadOfCPUCores()

◆ locallogfilename() [1/2]

char * Abstract_Engines_Container_i::locallogfilename ( )
overrideinherited

◆ locallogfilename() [2/2]

void Abstract_Engines_Container_i::locallogfilename ( const char name)
overrideinherited

◆ logfilename() [1/2]

char * Abstract_Engines_Container_i::logfilename ( )
overrideinherited

Get container log file name.

CORBA attribute: Container log file name

References Abstract_Engines_Container_i::_logfilename.

◆ logfilename() [2/2]

void Abstract_Engines_Container_i::logfilename ( const char name)
overrideinherited

◆ monitoringtimeresms() [1/2]

CORBA::Long Abstract_Engines_Container_i::monitoringtimeresms ( )
overrideinherited

◆ monitoringtimeresms() [2/2]

void Abstract_Engines_Container_i::monitoringtimeresms ( CORBA::Long  intervalInMs)
overrideinherited

◆ name()

◆ override_environment()

void Abstract_Engines_Container_i::override_environment ( const Engines::FieldsDict env)
overrideinherited

◆ override_environment_python()

void Abstract_Engines_Container_i::override_environment_python ( const Engines::FieldsDict env)
overrideinherited

◆ ping()

void Abstract_Engines_Container_i::ping ( )
virtualinherited

Ping the servant to check it is still alive.

CORBA method: check if servant is still alive

References MESSAGE.

◆ registerTemporaryFile()

void Abstract_Engines_Container_i::registerTemporaryFile ( const std::string &  fileName)
inherited

◆ remove_impl()

◆ removePyScriptNode()

void Abstract_Engines_Container_i::removePyScriptNode ( const char nodeName)
overrideinherited

◆ resetScriptForCPULoad()

void Abstract_Engines_Container_i::resetScriptForCPULoad ( )
inherited

Nullify custom script to calculate each CPU core's load.

CORBA method: reset script for load calculation to default implementation

References Abstract_Engines_Container_i::_load_script.

◆ set_big_obj_on_disk_directory()

void Abstract_Engines_Container_i::set_big_obj_on_disk_directory ( const char directory)
overrideinherited

◆ set_big_obj_on_disk_threshold()

void Abstract_Engines_Container_i::set_big_obj_on_disk_threshold ( CORBA::Long  thresholdInByte)
overrideinherited

◆ set_current_directory()

void Abstract_Engines_Container_i::set_current_directory ( const char cwd)
overrideinherited

◆ set_directory_for_replay_files()

void Abstract_Engines_Container_i::set_directory_for_replay_files ( const char directory)
overrideinherited

◆ set_number_of_retry()

void Abstract_Engines_Container_i::set_number_of_retry ( CORBA::Long  nbRetry)
overrideinherited

◆ set_startup_code()

void Abstract_Engines_Container_i::set_startup_code ( const char codeAtStartUp)
overrideinherited

◆ set_timeout_before_retrying()

void Abstract_Engines_Container_i::set_timeout_before_retrying ( CORBA::Long  timeInSecond)
overrideinherited

◆ setPyScriptForCPULoad()

void Abstract_Engines_Container_i::setPyScriptForCPULoad ( const char script)
inherited

Set custom script to calculate a load of each CPU core.

CORBA method: Set custom script to calculate CPU load

Parameters
scriptPython script to execute

References Abstract_Engines_Container_i::_load_script.

◆ setVerbosity()

void Abstract_Engines_Container_i::setVerbosity ( bool  activated,
const char level 
)
overrideinherited

◆ Shutdown()

◆ ShutdownCommonPart()

◆ ShutdownNow()

void Abstract_Engines_Container_i::ShutdownNow ( )
overrideinherited

◆ tior() [1/2]

Engines::IORTab * MPIObject_i::tior ( )
inherited

◆ tior() [2/2]

void MPIObject_i::tior ( const Engines::IORTab ior)
inherited

References MPIObject_i::_tior.

◆ unregisterTemporaryFile()

void Abstract_Engines_Container_i::unregisterTemporaryFile ( const std::string &  fileName)
inherited

◆ verbosity()

void Abstract_Engines_Container_i::verbosity ( bool activated,
CORBA::String_out  level 
)
overrideinherited

◆ workingdir()

char * Abstract_Engines_Container_i::workingdir ( )
inherited

Get container working directory.

CORBA attribute: Container working directory

Field Documentation

◆ _argc

int Abstract_Engines_Container_i::_argc
protectedinherited

◆ _argv

char** Abstract_Engines_Container_i::_argv
protectedinherited

◆ _cntInstances_map

std::map< std::string, int > Abstract_Engines_Container_i::_cntInstances_map
staticprotectedinherited

◆ _code_at_startup

std::string Abstract_Engines_Container_i::_code_at_startup
protectedinherited

◆ _containerName

◆ _dftPyNode

std::map<std::string, Engines::PyNode_var> Abstract_Engines_Container_i::_dftPyNode
protectedinherited

◆ _dftPyScriptNode

std::map<std::string, Engines::PyScriptNode_var> Abstract_Engines_Container_i::_dftPyScriptNode
protectedinherited

◆ _fileRef_map

std::map<std::string, Engines::fileRef_var> Abstract_Engines_Container_i::_fileRef_map
protectedinherited

◆ _fileTransfer

Engines::fileTransfer_var Abstract_Engines_Container_i::_fileTransfer
protectedinherited

◆ _gcom

std::map<std::string, MPI_Comm> MPIObject_i::_gcom
protectedinherited

◆ _groups_of_log_files

std::vector< std::vector<std::string> > Abstract_Engines_Container_i::_groups_of_log_files
protectedinherited

◆ _icom

std::map<std::string, MPI_Comm> MPIObject_i::_icom
privateinherited

◆ _id

◆ _isServantAloneInProcess

bool Abstract_Engines_Container_i::_isServantAloneInProcess
protectedinherited

◆ _isSupervContainer

bool Abstract_Engines_Container_i::_isSupervContainer
protectedinherited

◆ _library_map

◆ _library_path

std::string Abstract_Engines_Container_i::_library_path
protectedinherited

◆ _listInstances_map

◆ _load_script

◆ _localfilename

std::string Abstract_Engines_Container_i::_localfilename
protectedinherited

◆ _logfilename

std::string Abstract_Engines_Container_i::_logfilename
protectedinherited

◆ _mutexForDftPy

◆ _nbproc

◆ _NS

◆ _numInstance

◆ _numInstanceMutex

◆ _numproc

◆ _orb

◆ _pid

long Abstract_Engines_Container_i::_pid
protectedinherited

◆ _poa

◆ _port_name

std::map<std::string, std::string> MPIObject_i::_port_name
privateinherited

◆ _py_container_name

std::string Abstract_Engines_Container_i::_py_container_name
protectedinherited

◆ _Salome_file_map

std::map<std::string, Engines::Salome_file_var> Abstract_Engines_Container_i::_Salome_file_map
protectedinherited

◆ _srv

std::map<std::string, bool> MPIObject_i::_srv
privateinherited

◆ _tior

◆ _tmp_files

std::list<std::string> Abstract_Engines_Container_i::_tmp_files
protectedinherited

◆ _toRemove_map

◆ DFT_TIME_INTERVAL_BTW_MEASURE

const int Abstract_Engines_Container_i::DFT_TIME_INTERVAL_BTW_MEASURE = 500
staticinherited