Salome HOME
Changing version to 5.1.2
[modules/kernel.git] / src / Batch_SWIG / Batch_test.py
1 #  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 #
6 #  This library is free software; you can redistribute it and/or
7 #  modify it under the terms of the GNU Lesser General Public
8 #  License as published by the Free Software Foundation; either
9 #  version 2.1 of the License.
10 #
11 #  This library is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 #  Lesser General Public License for more details.
15 #
16 #  You should have received a copy of the GNU Lesser General Public
17 #  License along with this library; if not, write to the Free Software
18 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 #
20 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #
22 #Batch_test.py
23 # pratique
24 #
25 import readline
26 import rlcompleter
27 readline.parse_and_bind('tab: complete')
28
29 # Importation de la bibliotheque de classes Batch
30 from libBatch_Swig import *
31
32 def work():
33     # Definition d'un job...
34     job=Job()
35     # ... de ses parametres ...
36     p={}
37     p['EXECUTABLE']='/home/dutka/tmp/job'
38     p['NAME']='MonJob'
39     p['OUTFILE']=[('/tmp/stdout', 'stdout'), ('/tmp/stderr', 'stderr')]
40     job.setParametre(p)
41     # ... et de son environnement
42     job.setEnvironnement({})
43     print job
44
45     # Appel au catalogue de BatchManager pour accĂ©der au serveur cli70cu
46     # Instanciation du catalogue (quasi-singleton)
47     c=BatchManagerCatalog()
48     # Instanciation d'une Factory de BatchManager de type 'PBS'
49     # fbm=c('PBS')
50
51     # Creation d'un BatchManager de type PBS sur le serveur cli70cu
52     bm=c('PBS')('cli70cu')
53
54     # Soumission du job au BatchManager
55     jobid=bm.submitJob(job)
56     print jobid
57
58     # Interrogation de l'etat du job
59     jobid.queryJob()
60
61     # On attend que le job soit termine
62     try:
63         while 1: jinfo = jobid.queryJob()
64     except:
65         print "Job", jobid, "is done"
66
67     pass
68
69 if __name__ == "__main__":
70     work()
71     pass
72
73
74