325 |
|
def deserXmlStatus(self, reportList): |
326 |
|
|
327 |
|
task = self.getTask() |
328 |
+ |
if int(self.cfg_params.get('WMBS.automation',0)) == 1: |
329 |
+ |
if len(reportList) ==0: |
330 |
+ |
msg = 'You are using CRAB with WMBS the server is still creating your jobs.\n' |
331 |
+ |
msg += '\tPlease wait...' |
332 |
+ |
raise CrabException(msg) |
333 |
+ |
newJobs = len(reportList) - len(task.jobs) |
334 |
+ |
if newJobs != 0: |
335 |
+ |
isNew=True |
336 |
+ |
if len(task.jobs):isNew=False |
337 |
+ |
jobL=[] |
338 |
+ |
for i in range(1,newJobs+1): |
339 |
+ |
jobL.append(len(task.jobs)+i) |
340 |
+ |
self.createJobs_(jobL,isNew) |
341 |
+ |
|
342 |
|
for job in task.jobs: |
343 |
|
if not job.runningJob: |
344 |
|
raise CrabException( "Missing running object for job %s"%str(job['jobId']) ) |
394 |
|
|
395 |
|
job.runningJob['state'] = str( rForJ.getAttribute('action') ) |
396 |
|
|
397 |
< |
#if str( rForJ.getAttribute('resubmit') ).isdigit(): |
398 |
< |
# job['submissionNumber'] = int(rForJ.getAttribute('resubmit')) |
385 |
< |
# job.runningJob['submission'] = int(rForJ.getAttribute('resubmit')) |
397 |
> |
# Needed for unique naming of the output |
398 |
> |
job.runningJob['submission'] = int(rForJ.getAttribute('submission')) |
399 |
|
|
387 |
– |
# TODO cleared='0' field, how should it be handled/mapped in BL? #Fabio |
388 |
– |
|
400 |
|
common.bossSession.updateDB( task_new ) |
401 |
|
return |
402 |
|
|
407 |
|
return False |
408 |
|
return True |
409 |
|
|
410 |
+ |
# Method to update arguments w.r.t. resubmission number in order to grant unique output |
411 |
+ |
def updateResubAttribs(self, jobsL): |
412 |
+ |
task = self.getTask(jobsL) |
413 |
+ |
for j in task.jobs: |
414 |
+ |
common.bossSession.getRunningInstance(j) |
415 |
+ |
newArgs = "%d %d"%(j.runningJob['jobId'], j.runningJob['submission']) |
416 |
+ |
j['arguments'] = newArgs |
417 |
+ |
|
418 |
+ |
common.bossSession.updateDB(task) |
419 |
+ |
return |
420 |
+ |
|
421 |
|
|