ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/Resubmitter.py
Revision: 1.17
Committed: Tue Oct 13 08:22:39 2009 UTC (15 years, 6 months ago) by spiga
Content type: text/x-python
Branch: MAIN
CVS Tags: CRAB_2_8_4_patch3, CRAB_2_8_5_pre2, CRAB_2_8_4_patch2, CRAB_2_8_5_pre1, CRAB_2_8_4_patch1, CRAB_2_8_4, CRAB_2_8_4_pre5, CRAB_2_8_4_pre4, CRAB_2_8_4_pre3, CRAB_2_8_4_pre2, CRAB_2_8_4_pre1, CRAB_2_8_3, CRAB_2_8_3_pre4, CRAB_2_8_3_pre3, CRAB_2_8_3_pre2, CRAB_2_8_3_pre1, CRAB_2_8_2_patch1, CRAB_2_8_2, CRAB_2_8_2_pre5, CRAB_2_8_2_pre4, CRAB_2_8_2_pre3, CRAB_2_8_2_pre2, CRAB_2_8_2_pre1, CRAB_2_8_1, CRAB_2_8_0, CRAB_2_8_0_pre1, CRAB_2_7_10_pre3, CRAB_2_7_9_patch2_pre1, CRAB_2_7_10_pre2, CRAB_2_7_10_pre1, CRAB_2_7_9_patch1, CRAB_2_7_9, CRAB_2_7_9_pre5, CRAB_2_7_9_pre4, CRAB_2_7_9_pre3, CRAB_2_7_9_pre2, CRAB_2_7_8_patch2, CRAB_2_7_9_pre1, CRAB_2_7_8_patch2_pre1, CRAB_2_7_8_patch1, CRAB_2_7_8_patch1_pre1, CRAB_2_7_8, CRAB_2_7_8_pre3, CRAB_2_7_8_pre2, CRAB_2_7_8_dash3, CRAB_2_7_8_dash2, CRAB_2_7_8_dash, CRAB_2_7_7_patch1, CRAB_2_7_7_patch1_pre1, CRAB_2_7_8_pre1, CRAB_2_7_7, CRAB_2_7_7_pre2, CRAB_2_7_7_pre1, CRAB_2_7_6_patch1, CRAB_2_7_6, CRAB_2_7_6_pre1, CRAB_2_7_5_patch1, CRAB_2_7_5, CRAB_2_7_5_pre3, CRAB_2_7_5_pre2, CRAB_2_7_5_pre1, CRAB_2_7_4_patch1, CRAB_2_7_4, CRAB_2_7_4_pre6, CRAB_2_7_4_pre5, CRAB_2_7_4_pre4, CRAB_2_7_4_pre3, CRAB_2_7_4_pre2, CRAB_2_7_4_pre1, CRAB_2_7_3, CRAB_2_7_3_pre3, CRAB_2_7_3_pre3_beta, CRAB_2_7_3_pre2, CRAB_2_7_3_pre2_beta, CRAB_2_7_3_pre1, CRAB_2_7_3_beta3, CRAB_2_7_3_beta2, CRAB_2_7_3_beta1, CRAB_2_7_3_beta, CRAB_2_7_2_p1, CRAB_2_7_1_branch_firstMERGE, CRAB_2_7_2, CRAB_2_7_2_pre4, CRAB_2_7_2_pre3, CRAB_2_7_2_pre2, CRAB_2_7_2_pre1, CRAB_2_7_1, fede_170310, CRAB_2_7_1_pre12, CRAB_2_7_1_pre11, CRAB_2_7_1_pre10, CRAB_2_7_1_pre9, CRAB_LumiMask, CRAB_2_7_lumi, from_LimiMask, CRAB_2_7_1_pre8, CRAB_2_7_1_pre6, CRAB_2_7_1_pre5, CRAB_2_7_1_wmbs_pre4, CRAB_2_7_1_pre4, CRAB_2_7_1_pre3, CRAB_2_7_1_pre2, CRAB_2_7_1_pre1, CRAB_2_7_0, CRAB_2_7_0_pre8, CRAB_2_7_0_pre7, CRAB_2_7_0_pre6, CRAB_2_7_0_pre5
Branch point for: CRAB_multiout, CRAB_2_7_1_branch, Lumi2_8
Changes since 1.16: +13 -2 lines
Log Message:
check remote dir before resubmission

File Contents

# User Rev Content
1 slacapra 1.1 from Submitter import Submitter
2     import common
3     from crab_util import *
4 spiga 1.4 from crab_exceptions import *
5 spiga 1.17 from PhEDExDatasvcInfo import PhEDExDatasvcInfo
6    
7 slacapra 1.1
8     class Resubmitter(Submitter):
9 spiga 1.3 def __init__(self, cfg_params, jobs):
10     self.cfg_params = cfg_params
11    
12 slacapra 1.1 nj_list = []
13 ewv 1.6
14 spiga 1.17 self.copy_data = int(cfg_params.get('USER.copy_data',0))
15     self.check_RemoteDir = int(cfg_params.get('USER.check_user_remote_dir',0))
16 slacapra 1.14 nj_list = self.checkAllowedJob(jobs,nj_list)
17 spiga 1.12 common.logger.info('Jobs '+str(nj_list)+' will be resubmitted')
18 spiga 1.3 Submitter.__init__(self, cfg_params, nj_list, 'range')
19 ewv 1.6
20 spiga 1.3 return
21 slacapra 1.1
22 spiga 1.17 def checkRemoteDir(self,task):
23    
24     if self.copy_data==1:
25     stageout = PhEDExDatasvcInfo(self.cfg_params)
26     endpoint, lfn, SE, SE_PATH, user = stageout.getEndpoint()
27     common.scheduler.checkRemoteDir(endpoint,eval(task['outfileBasename']))
28    
29    
30 slacapra 1.14 def checkAllowedJob(self,jobs,nj_list):
31 spiga 1.3 listRunField=[]
32     task=common._db.getTask(jobs)
33 spiga 1.17 if self.check_RemoteDir == 1 : self.checkRemoteDir(task)
34 spiga 1.3 for job in task.jobs:
35 slacapra 1.14 st = job.runningJob['state']
36     nj = int(job['jobId'])
37     if st in ['KillSuccess','SubFailed','Cleared','Aborted']:
38     #['K','A','SE','E','DA','NS']:
39     nj_list.append(nj)
40     elif st == 'Created':
41     common.logger.info('Job #'+`nj`+' last action was '+str(job.runningJob['state'])+' not yet submitted: use -submit')
42     elif st in ['Terminated']:
43     common.logger.info('Job #'+`nj`+' last action was '+str(job.runningJob['state'])+' must be retrieved (-get) before resubmission')
44 spiga 1.3 else:
45 slacapra 1.14 common.logger.info('Job #'+`nj`+' last action was '+str(job.runningJob['state'])+' actual status is '\
46     +str(job.runningJob['statusScheduler'])+' must be killed (-kill) before resubmission')
47 spiga 1.16 if (job.runningJob['state']=='KillRequested'): common.logger.info('\t\tthe previous Kill request is being processed')
48 slacapra 1.14
49 spiga 1.4
50     if len(nj_list) == 0 :
51 spiga 1.3 msg='No jobs to resubmit'
52     raise CrabException(msg)
53 spiga 1.5
54 spiga 1.15 common._db.updateJob_(nj_list, [{'closed':'N'}]*len(nj_list))
55 slacapra 1.14 # Get new running instances
56 spiga 1.5 common._db.newRunJobs(nj_list)
57 slacapra 1.14
58     return nj_list