206 |
|
if server_mode == 1: |
207 |
|
# init client server params... |
208 |
|
CliServerParams(self) |
209 |
< |
headerTask= "Task Id = %-40s " %(task['name']) |
209 |
> |
headerTask = "Task Id = %-40s\n" %(task['name']) |
210 |
> |
headerTask+= '--------------------------------------------------------------------------------------------\n' |
211 |
|
displayReport(self,headerTask,lines) |
212 |
|
common.logger.info(showWebMon(self.server_name)) |
213 |
|
if (jid ) or (server_mode == 0): |
216 |
|
common.bossSession.getRunningInstance(job) |
217 |
|
toPrint = "%-5s %-50s " % (job['jobId'],job.runningJob['schedulerId']) |
218 |
|
lines.append(toPrint) |
219 |
< |
header+= "%-5s %-50s " % ('Job:','ID' ) |
219 |
> |
header+= "%-5s %-50s\n " % ('Job:','ID' ) |
220 |
> |
header+= '--------------------------------------------------------------------------------------------\n' |
221 |
|
displayReport(self,header,lines) |
222 |
|
return |
223 |
|
|
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']) ) |
368 |
|
break |
369 |
|
|
370 |
|
# Data alignment |
371 |
< |
if rForJ.getAttribute('status') not in ['Created', 'Unknown']: |
371 |
> |
if rForJ.getAttribute('status') not in ['Unknown']: # ['Created', 'Unknown']: |
372 |
|
# update the status |
373 |
|
common.logger.debug("Updating DB status for job: " + str(id) + " @: " \ |
374 |
|
+ str(rForJ.getAttribute('status')) ) |
390 |
|
job.runningJob['wrapperReturnCode'] = str( rForJ.getAttribute('job_exit') ) |
391 |
|
job_exit_code = str(job.runningJob['wrapperReturnCode']) |
392 |
|
|
393 |
< |
## unsing 'standardInput' field for 'ended' tag ['Y','N'] |
378 |
< |
job['standardInput'] = str( rForJ.getAttribute('ended') ) |
393 |
> |
job['closed'] = str( rForJ.getAttribute('ended') ) |
394 |
|
|
395 |
|
job.runningJob['state'] = str( rForJ.getAttribute('action') ) |
396 |
|
|
410 |
|
return False |
411 |
|
return True |
412 |
|
|
413 |
+ |
# Method to update arguments w.r.t. resubmission number in order to grant unique output |
414 |
+ |
def updateResubAttribs(self, jobsL): |
415 |
+ |
task = self.getTask(jobsL) |
416 |
+ |
for j in task.jobs: |
417 |
+ |
common.bossSession.getRunningInstance(j) |
418 |
+ |
newArgs = "%d %d"%(j.runningJob['jobId'], j.runningJob['submission']) |
419 |
+ |
j['arguments'] = newArgs |
420 |
+ |
|
421 |
+ |
common.bossSession.updateDB(task) |
422 |
+ |
return |
423 |
+ |
|
424 |
|
|