ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/DBinterface.py
(Generate patch)

Comparing COMP/CRAB/python/DBinterface.py (file contents):
Revision 1.1 by spiga, Mon Mar 3 20:14:43 2008 UTC vs.
Revision 1.2 by spiga, Tue Mar 4 15:50:44 2008 UTC

# Line 13 | Line 13 | from ProdCommon.BossLite.DbObjects.Runni
13  
14  
15   class DBinterface:
16 <    def __init__(self):
17 <
18 <        return
19 <
20 <    def configureDB(self, cfg_params):
16 >    def __init__(self, cfg_params):
17  
18          self.cfg_params = cfg_params
19  
20          self.db_type =  cfg_params.get("USER.use_db",'SQLite')
21 +        return
22 +
23 +
24 +    def configureDB(self):
25  
26          dbname = common.work_space.shareDir()+'crabDB'
27          dbConfig = {'dbName':dbname
28              }
29  
30          common.bossSession = BossLiteAPI( self.db_type, dbConfig)
31    
31          common.bossSession.installDB('$CRABPRODCOMMONPYTHON/ProdCommon/BossLite/DbObjects/setupDatabase-sqlite.sql')    
32          
33          return
34  
35 +    def loadDB(self):
36 +
37 +        dbname = common.work_space.shareDir()+'crabDB'
38 +        dbConfig = {'dbName':dbname
39 +            }
40 +        common.bossSession = BossLiteAPI( self.db_type, dbConfig)
41 +        
42 +        return
43 +
44 +
45  
46      def createTask_(self, optsToSave):      
47          """
# Line 55 | Line 64 | class DBinterface:
64          """
65          Update task fields  
66          """
67 <        task = common.bossSession.loadTaskByName(common.work_space.taskName() )
67 >        #task = common.bossSession.loadTaskByName(common.work_space.taskName() )
68 >        task = common.bossSession.loadTaskByID(1)
69          
70          for key in optsToSave.keys():
71              task[key] = optsToSave[key]
# Line 66 | Line 76 | class DBinterface:
76          """  
77          Fill crab DB with  the jobs filed
78          """
79 <        task = common.bossSession.loadTaskByName(common.work_space.taskName())
79 >        #task = common.bossSession.loadTaskByName(common.work_space.taskName())
80 >        task = common.bossSession.loadTaskByID(1)
81          jobs = []
82          for id in range(nj):
83              parameters = {}
# Line 81 | Line 92 | class DBinterface:
92          """
93          Update Job fields  
94          """
95 <        task = common.bossSession.loadTaskByName( common.work_space.taskName())
95 >        task = common.bossSession.loadTaskByID(1)
96 >        #task = common.bossSession.loadTaskByName( common.work_space.taskName())
97          jobs = common.bossSession.loadJob(task['id'],nj+1)
98          for key in optsToSave.keys():
99              jobs[key] = optsToSave[key]
# Line 92 | Line 104 | class DBinterface:
104          """
105          Update Running Job fields  
106          """
107 <        task = common.bossSession.loadTaskByName( common.work_space.taskName())
107 >        task = common.bossSession.loadTaskByID(1)
108 >        #task = common.bossSession.loadTaskByName( common.work_space.taskName())
109          common.bossSession.getRunningInstance(task.jobs[nj])
110          for key in optsToSave.keys():
111              task.jobs[nj].runningJob[key] = optsToSave[key]
# Line 100 | Line 113 | class DBinterface:
113          return
114  
115      def nJobs(self):
116 <        task = common.bossSession.loadTaskByName( common.work_space.taskName())
116 >        
117 >        task = common.bossSession.loadTaskByID(1)
118 >        #task = common.bossSession.loadTaskByName( common.work_space.taskName())
119          return len(task.jobs)
120  
121      def dump(self,jobs):
122          """
123           List a complete set of infos for a job/range of jobs  
124          """
125 <        task = common.bossSession.loadTaskByName( common.work_space.taskName())
125 >        task = common.bossSession.loadTaskByID(1)
126 >        #task = common.bossSession.loadTaskByName( common.work_space.taskName())
127  
128          njobs = len(jobs)
129          lines=[]
# Line 135 | Line 151 | class DBinterface:
151          '''    
152          header=''
153          lines=[]
154 +        task = common.bossSession.loadTaskByID(1)
155          if server_mode == 1:
156 <            header= "Task Id = %-40s " %(common.work_space.taskName())
156 >            header= "Task Id = %-40s " %(task['name'])
157          else:
158 <            task = common.bossSession.loadTaskByName(common.work_space.taskName() )
158 >         #   task = common.bossSession.loadTaskByName(common.work_space.taskName() )
159              for i in range(len(task.job)):
160                  common.bossSession.getRunningInstance(task.jobs[i])
161                  lines.append(task.jobs[i].runningJob['schedulerId'])
# Line 151 | Line 168 | class DBinterface:
168          '''
169          Perform a query over a generic task attribute
170          '''
171 <        task = common.bossSession.loadTaskByName( common.work_space.taskName() )
171 >        task = common.bossSession.loadTaskByID(1)
172          return task[attr]
173  
174      def queryJob(self, attr, njobs):
# Line 160 | Line 177 | class DBinterface:
177          over a generic job attribute
178          '''
179          lines=[]
180 <        task = common.bossSession.loadTaskByName( common.work_space.taskName())
180 >        task = common.bossSession.loadTaskByID(1)
181 >        #task = common.bossSession.loadTaskByName( common.work_space.taskName())
182          for i in njobs:
183              jobs = common.bossSession.loadJob(task['id'],i+1)
184              lines.append(task.jobs[i][attr])
# Line 172 | Line 190 | class DBinterface:
190          over a generic job attribute
191          '''
192          lines=[]
193 <        task = common.bossSession.loadTaskByName( common.work_space.taskName() )
193 >        task = common.bossSession.loadTaskByID(1)
194 >       # task = common.bossSession.loadTaskByName( common.work_space.taskName() )
195          for i in jobs:
196              common.bossSession.getRunningInstance(task.jobs[i])
197              lines.append(task.jobs[i].runningJob[attr])

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines