56 |
|
Return task with all/list of jobs |
57 |
|
""" |
58 |
|
try: |
59 |
< |
task = common.bossSession.load(1,jobsList)[0] |
59 |
> |
task = common.bossSession.load(1,jobsList) |
60 |
|
except Exception, e : |
61 |
|
common.logger.debug(3, "Error while getting task : " +str(traceback.format_exc())) |
62 |
|
raise CrabException('Error while getting task '+str(e)) |
67 |
|
Return a task with a single job |
68 |
|
""" |
69 |
|
try: |
70 |
< |
task = common.bossSession.load(1,str(n))[0] |
70 |
> |
task = common.bossSession.load(1,str(n)) |
71 |
|
except Exception, e : |
72 |
|
common.logger.debug(3, "Error while getting job : " +str(traceback.format_exc())) |
73 |
|
raise CrabException('Error while getting job '+str(e)) |
81 |
|
""" |
82 |
|
opt={} |
83 |
|
if optsToSave.get('server_mode',0) == 1: opt['serverName']=optsToSave['server_name'] |
84 |
< |
opt['name']=common.work_space.taskName() |
84 |
> |
opt['name']= getUserName()+ '_' + string.split(common.work_space.topDir(),'/')[-2]+'_'+common.work_space.task_uuid() |
85 |
|
task = Task( opt ) |
86 |
|
try: |
87 |
|
common.bossSession.saveTask( task ) |
207 |
|
lines=[] |
208 |
|
task = self.getTask() |
209 |
|
if server_mode == 1: |
210 |
+ |
# init client server params... |
211 |
+ |
CliServerParams(self) |
212 |
|
headerTask= "Task Id = %-40s " %(task['name']) |
213 |
|
displayReport(self,headerTask,lines) |
214 |
+ |
common.logger.message(showWebMon(self.server_name)) |
215 |
|
if (jid ) or (server_mode == 0): |
216 |
|
for job in task.jobs: |
217 |
|
toPrint='' |
336 |
|
if r.getAttribute('id') in [ id, 'all']: |
337 |
|
rForJ = r |
338 |
|
break |
339 |
< |
## Check the submission number and create new running jobs on the client side |
340 |
< |
if rForJ.getAttribute('resubmit') != 'None' and (rForJ.getAttribute('status') not in ['Killed','Killing','Done']) : |
339 |
> |
## Check the submission number and create new running jobs on the client side |
340 |
> |
if rForJ.getAttribute('resubmit') != 'None' and (rForJ.getAttribute('status') not in ['Cleared','Killed','Done','Done (Failed)','Not Submitted', 'Cancelled by user']) : |
341 |
|
if int(job.runningJob['submission']) < int(rForJ.getAttribute('resubmit')) + 1: |
342 |
|
nj_list.append(id) |
343 |
< |
self.newRunJobs(nj_list) |
343 |
> |
if len(nj_list) > 0: self.newRunJobs(nj_list) |
344 |
|
|
345 |
|
task_new = self.getTask() |
346 |
|
|
351 |
|
for r in reportList: |
352 |
|
if r.getAttribute('id') in [ id, 'all']: |
353 |
|
rForJ = r |
354 |
< |
break |
354 |
> |
break |
355 |
|
|
356 |
|
# Data alignment |
357 |
< |
if rForJ.getAttribute('status') not in ['Created', 'Unknown'] and not\ |
355 |
< |
(job.runningJob['statusScheduler'] == 'Killing' and rForJ.getAttribute('status')!='Killed') \ |
356 |
< |
and not (job.runningJob['statusScheduler'] in 'Submitting' and rForJ.getAttribute('status') in ['Killed','Cleared']) : |
357 |
> |
if rForJ.getAttribute('status') not in ['Created', 'Unknown']: |
358 |
|
# update the status |
359 |
|
common.logger.debug(3,"Updating DB status for job: " + str(id) + " @: " \ |
360 |
|
+ str(rForJ.getAttribute('status')) ) |
375 |
|
|
376 |
|
job.runningJob['wrapperReturnCode'] = str( rForJ.getAttribute('job_exit') ) |
377 |
|
job_exit_code = str(job.runningJob['wrapperReturnCode']) |
378 |
+ |
|
379 |
+ |
## unsing 'standardInput' field for 'ended' tag ['Y','N'] |
380 |
+ |
job['standardInput'] = str( rForJ.getAttribute('ended') ) |
381 |
+ |
|
382 |
+ |
job.runningJob['state'] = str( rForJ.getAttribute('action') ) |
383 |
|
|
384 |
|
#if str( rForJ.getAttribute('resubmit') ).isdigit(): |
385 |
|
# job['submissionNumber'] = int(rForJ.getAttribute('resubmit')) |