ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/SchedulerCondor.py
(Generate patch)

Comparing COMP/CRAB/python/SchedulerCondor.py (file contents):
Revision 1.2 by ewv, Wed May 21 19:27:30 2008 UTC vs.
Revision 1.8 by spiga, Wed Jun 11 10:03:07 2008 UTC

# Line 20 | Line 20 | class SchedulerCondor(SchedulerLocal) :
20      Scheduler.__init__(self,"CONDOR")
21      return
22  
23 +
24    def configure(self, cfg_params):
25      SchedulerLocal.configure(self, cfg_params)
26      self.environment_unique_identifier ='${HOSTNAME}_${CONDOR_ID}_' + common._db.queryTask('name')
27 +
28 +    try:
29 +      tmp =  cfg_params['CMSSW.datasetpath']
30 +      if string.lower(tmp)=='none':
31 +        self.datasetPath = None
32 +        self.selectNoInput = 1
33 +      else:
34 +        self.datasetPath = tmp
35 +        self.selectNoInput = 0
36 +    except KeyError:
37 +      msg = "Error: datasetpath not defined "
38 +      raise CrabException(msg)
39 +
40      return
41  
42 +
43    def sched_parameter(self,i,task):
44      """
45      Return scheduler-specific parameters
# Line 37 | Line 52 | class SchedulerCondor(SchedulerLocal) :
52  
53      return sched_param
54  
55 +
56    def realSchedParams(self,cfg_params):
57      """
58      Return dictionary with specific parameters, to use
# Line 47 | Line 63 | class SchedulerCondor(SchedulerLocal) :
63      params = {'tmpDir':tmpDir}
64      return  params
65  
66 <  def loggingInfo(self, id):
67 <    """ return logging info about job nj """
68 <    cmd = 'something'
69 <    #cmd_out = runCommand(cmd)
70 <    return ''
66 >
67 >  def listMatch(self, seList, full, onlyOSG=True):
68 >    """
69 >    Check the compatibility of available resources
70 >    """
71 >
72 >    # May have problems with onlyOSG being false, probably due to lengths of lists and command line.
73 >    # Either re-write osg_bdii.py with a proper ldap library or break the queries apart
74 >
75 >    #scram = Scram.Scram(None)
76 >    #versionCMSSW = scram.getSWVersion()
77 >    #arch = scram.getArch()
78 >
79 >    if self.selectNoInput:
80 >      return [True]
81 >
82 >
83 >  def decodeLogInfo(self, file):
84 >    """
85 >    Parse logging info file and return main info
86 >    """
87 >    import CondorGLoggingInfo
88 >    loggingInfo = CondorGLoggingInfo.CondorGLoggingInfo()
89 >    reason = loggingInfo.decodeReason(file)
90 >    return reason
91 >
92 >
93 >  def wsExitFunc(self):
94 >    """
95 >    """
96 >    txt = '\n'
97 >    txt += '#\n'
98 >    txt += '# EXECUTE THIS FUNCTION BEFORE EXIT \n'
99 >    txt += '#\n\n'
100 >
101 >    txt += 'func_exit() { \n'
102 >    txt += self.wsExitFunc_common()
103 >
104 >    txt += '    tar zcvf ${out_files}.tgz  ${final_list}\n'
105 >    txt += '    cp  ${out_files}.tgz $ORIG_WD/\n'
106 >    txt += '    cp  crab_fjr_$NJob.xml $ORIG_WD/\n'
107 >
108 >    txt += '    exit $job_exit_code\n'
109 >    txt += '}\n'
110 >
111 >    return txt
112 >
113 >  def wsInitialEnvironment(self):
114 >    """
115 >    Returns part of a job script which does scheduler-specific work.
116 >    """
117 >
118 >    txt  = '\n# Written by SchedulerCondor::wsInitialEnvironment\n'
119 >    txt += 'echo "Beginning environment"\n'
120 >    txt += 'printenv | sort\n'
121 >
122 >    txt += 'middleware='+self.name()+' \n'
123 >    txt += """
124 > if [ $_CONDOR_SCRATCH_DIR ] && [ -d $_CONDOR_SCRATCH_DIR ]; then
125 >    ORIG_WD=`pwd`
126 >    echo "Change from $ORIG_WD to Condor scratch directory: $_CONDOR_SCRATCH_DIR"
127 >    if [ -e ../default.tgz ] ;then
128 >      echo "Found ISB in parent directory (Local Condor)"
129 >      cp ../default.tgz $_CONDOR_SCRATCH_DIR
130 >    fi
131 >    cd $_CONDOR_SCRATCH_DIR
132 > fi
133 > """
134 >
135 >    return txt

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines