38 |
|
dbConfig = {'dbName':dbname |
39 |
|
} |
40 |
|
common.bossSession = BossLiteAPI( self.db_type, dbConfig) |
41 |
< |
|
41 |
> |
self.task = common.bossSession.loadTaskByID(1) |
42 |
|
return |
43 |
+ |
|
44 |
+ |
def getTask(self, jobsList='all'): #, cfg_params): |
45 |
+ |
|
46 |
+ |
#if jobsList == 'all': |
47 |
+ |
# self.task = common.bossSession.loadTaskByID(1) |
48 |
+ |
#else: |
49 |
+ |
#self.task = common.bossSession.load('1','5') |
50 |
+ |
#return self.task[0] |
51 |
+ |
self.task = common.bossSession.loadTaskByID(1) |
52 |
+ |
return self.task |
53 |
|
|
54 |
+ |
def getJob(self, n): |
55 |
+ |
|
56 |
+ |
self.job = common.bossSession.loadJobByID(1,n) |
57 |
+ |
return self.job |
58 |
|
|
59 |
|
|
60 |
|
def createTask_(self, optsToSave): |
61 |
|
""" |
62 |
|
Task declaration |
63 |
|
with the first coniguration stuff |
64 |
< |
{'server_name': 'crabas.lnl.infn.it/data1/cms/', '-scheduler': 'glite', '-jobtype': 'cmssw', '-server_mode': '0'} |
64 |
> |
{'server_name': 'crabas.lnl.infn.it/data1/cms/', '-scheduler': 'glite', '-jobtype': 'cmssw', '-server_mode': '0'} |
65 |
|
|
66 |
|
""" |
67 |
|
opt={} |
68 |
|
if optsToSave['server_mode'] == 1: opt['serverName']=optsToSave['server_name'] |
55 |
– |
opt['jobType']=optsToSave['jobtype'] |
69 |
|
opt[ 'name']=common.work_space.taskName() |
70 |
|
task = Task( opt ) |
71 |
|
|
72 |
|
common.bossSession.saveTask( task ) |
60 |
– |
#common.bossSession.updateDB( task ) |
73 |
|
return |
74 |
|
|
75 |
|
def updateTask_(self,optsToSave): |
106 |
|
""" |
107 |
|
task = common.bossSession.loadTaskByID(1) |
108 |
|
#task = common.bossSession.loadTaskByName( common.work_space.taskName()) |
109 |
< |
jobs = common.bossSession.loadJob(task['id'],nj+1) |
110 |
< |
for key in optsToSave.keys(): |
111 |
< |
jobs[key] = optsToSave[key] |
112 |
< |
common.bossSession.updateDB( jobs ) |
109 |
> |
for i in range(len(nj)): |
110 |
> |
# jobs = common.bossSession.loadJob(task['id'],i) |
111 |
> |
for key in optsToSave[i].keys(): |
112 |
> |
task.jobs[i][key] = optsToSave[i][key] |
113 |
> |
common.bossSession.updateDB( task ) |
114 |
|
return |
115 |
|
|
116 |
|
def updateRunJob_(self, nj, optsToSave): |
119 |
|
""" |
120 |
|
task = common.bossSession.loadTaskByID(1) |
121 |
|
#task = common.bossSession.loadTaskByName( common.work_space.taskName()) |
122 |
< |
common.bossSession.getRunningInstance(task.jobs[nj]) |
123 |
< |
for key in optsToSave.keys(): |
124 |
< |
task.jobs[nj].runningJob[key] = optsToSave[key] |
122 |
> |
for i in nj: |
123 |
> |
common.bossSession.getRunningInstance(task.jobs[i]) |
124 |
> |
for key in optsToSave.keys(): |
125 |
> |
task.jobs[i].runningJob[key] = optsToSave[key] |
126 |
|
common.bossSession.updateDB( task ) |
127 |
|
return |
128 |
|
|
207 |
|
task = common.bossSession.loadTaskByID(1) |
208 |
|
# task = common.bossSession.loadTaskByName( common.work_space.taskName() ) |
209 |
|
for i in jobs: |
210 |
< |
common.bossSession.getRunningInstance(task.jobs[i]) |
211 |
< |
lines.append(task.jobs[i].runningJob[attr]) |
210 |
> |
common.bossSession.getRunningInstance(task.jobs[i-1]) |
211 |
> |
lines.append(task.jobs[i-1].runningJob[attr]) |
212 |
|
return lines |
213 |
|
|
214 |
|
def queryDistJob(self, attr): |
216 |
|
Returns the list of distinct value for a given job attributes |
217 |
|
''' |
218 |
|
distAttr=[] |
219 |
< |
task = common.bossSession.loadJobDistAttr( 1, attr ) |
219 |
> |
task = common.bossSession.loadJobDist( 1, attr ) |
220 |
|
for i in task: distAttr.append(i[attr]) |
221 |
|
return distAttr |
222 |
|
|
223 |
+ |
def queryDistJob_Attr(self, attr_1, attr_2, list): |
224 |
+ |
''' |
225 |
+ |
Returns the list of distinct value for a given job attributes |
226 |
+ |
''' |
227 |
+ |
distAttr=[] |
228 |
+ |
task = common.bossSession.loadJobDistAttr( 1, attr_1, attr_2, list ) |
229 |
+ |
for i in task: distAttr.append(i[attr_1]) |
230 |
+ |
return distAttr |
231 |
+ |
|
232 |
|
def queryAttrJob(self, attr, field): |
233 |
|
''' |
234 |
|
Returns the list of jobs matching the given attribute |
239 |
|
matched.append(i[field]) |
240 |
|
return matched |
241 |
|
|
242 |
+ |
|
243 |
+ |
def queryAttrRunJob(self, attr,field): |
244 |
+ |
''' |
245 |
+ |
Returns the list of jobs matching the given attribute |
246 |
+ |
''' |
247 |
+ |
matched=[] |
248 |
+ |
task = common.bossSession.loadJobsByRunningAttr(attr) |
249 |
+ |
for i in task: |
250 |
+ |
matched.append(i[field]) |
251 |
+ |
return matched |