1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
4 # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # Lesser General Public License for more details.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
24 # SALOME LifeCycleCORBA : implementation of containers and engines life cycle both in Python and C++
25 # File : LifeCycleCORBA.py
26 # Author : Paul RASCLE, EDF
31 from libSALOME_LifeCycleCORBA import *
33 class LifeCycleCORBA (SALOME_LifeCycleCORBA):
35 def __init__(self, orb = None):
36 SALOME_LifeCycleCORBA.__init__(self)
38 def FindOrLoadComponent(self, containerName, componentName):
39 return SALOME_LifeCycleCORBA.FindOrLoad_Component(self,
43 class MachineParameters (Engines.MachineParameters):
44 def __init__(self, container_name='', hostname='', componentList=[], computerList=[], OS='',
45 mem_mb=0, cpu_clock=0, nb_proc_per_node=0, nb_node=0, isMPI=False, workingdir='',
46 mode='start', policy='altcycl', parallelLib='', nb_component_nodes=0):
47 Engines.MachineParameters.__init__(self,container_name, hostname, componentList, computerList, OS,
48 mem_mb, cpu_clock, nb_proc_per_node, nb_node, isMPI, workingdir,
49 mode, policy, parallelLib, nb_component_nodes)
51 class ContainerParameters (Engines.ContainerParameters):
52 def __init__(self, container_name='', mode='start', workingdir='', nb_proc=0, isMPI=False, parallelLib='',resource_params=None):
53 if resource_params is None:resource_params=ResourceParameters()
54 Engines.ContainerParameters.__init__(self,container_name, mode, workingdir, nb_proc, isMPI, parallelLib,resource_params)
56 class ResourceParameters (Engines.ResourceParameters):
57 def __init__(self, name="", hostname="", OS="", componentList=[],
58 nb_proc=0, mem_mb=0, cpu_clock=0, nb_node=0, nb_proc_per_node=0,
59 policy="", resList=[]):
60 Engines.ResourceParameters.__init__(self, name, hostname, OS, componentList,
61 nb_proc, mem_mb, cpu_clock, nb_node, nb_proc_per_node,
64 class JobParameters (Engines.JobParameters):
65 def __init__(self, job_name="", job_type="", job_file="", env_file="", in_files=[], out_files=[],
66 work_directory="", local_directory="", result_directory="", maximum_duration="",
67 resource_required=None, queue="", specific_parameters=[]):
68 Engines.JobParameters.__init__(self, job_name, job_type, job_file, env_file, in_files, out_files,
69 work_directory, local_directory, result_directory, maximum_duration,
70 resource_required, queue, specific_parameters)
72 class ResourceDefinition(Engines.ResourceDefinition):
73 def __init__(self, name="", hostname="", protocol="rsh", username="", applipath="", componentList=[],
74 mode="interactive", OS="", mem_mb=1, cpu_clock=1, nb_node=1, nb_proc_per_node=1,
75 batch="", mpiImpl="", iprotocol="rsh"):
76 Engines.ResourceDefinition.__init__(self, name, hostname, protocol, username, applipath, componentList,
77 mode, OS, mem_mb, cpu_clock, nb_node, nb_proc_per_node, batch,