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.2.1 by fanzago, Tue Jun 24 13:54:11 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 >    if self.selectNoInput:
76 >      return [True]
77 >    else:
78 >      return SchedulerLocal.listMatch(self, seList, full)
79 >
80 >  def decodeLogInfo(self, file):
81 >    """
82 >    Parse logging info file and return main info
83 >    """
84 >    import CondorGLoggingInfo
85 >    loggingInfo = CondorGLoggingInfo.CondorGLoggingInfo()
86 >    reason = loggingInfo.decodeReason(file)
87 >    return reason
88 >
89 >
90 >  def wsExitFunc(self):
91 >    """
92 >    """
93 >    txt = '\n'
94 >    txt += '#\n'
95 >    txt += '# EXECUTE THIS FUNCTION BEFORE EXIT \n'
96 >    txt += '#\n\n'
97 >
98 >    txt += 'func_exit() { \n'
99 >    txt += self.wsExitFunc_common()
100 >
101 >    txt += '    tar zcvf ${out_files}.tgz  ${final_list}\n'
102 >    txt += '    cp  ${out_files}.tgz $ORIG_WD/\n'
103 >    txt += '    cp  crab_fjr_$NJob.xml $ORIG_WD/\n'
104 >
105 >    txt += '    exit $job_exit_code\n'
106 >    txt += '}\n'
107 >
108 >    return txt
109 >
110 >  def wsInitialEnvironment(self):
111 >    """
112 >    Returns part of a job script which does scheduler-specific work.
113 >    """
114 >
115 >    txt  = '\n# Written by SchedulerCondor::wsInitialEnvironment\n'
116 >    txt += 'echo "Beginning environment"\n'
117 >    txt += 'printenv | sort\n'
118 >
119 >    txt += 'middleware='+self.name()+' \n'
120 >    txt += """
121 > if [ $_CONDOR_SCRATCH_DIR ] && [ -d $_CONDOR_SCRATCH_DIR ]; then
122 >    ORIG_WD=`pwd`
123 >    echo "Change from $ORIG_WD to Condor scratch directory: $_CONDOR_SCRATCH_DIR"
124 >    if [ -e ../default.tgz ] ;then
125 >      echo "Found ISB in parent directory (Local Condor)"
126 >      cp ../default.tgz $_CONDOR_SCRATCH_DIR
127 >    fi
128 >    cd $_CONDOR_SCRATCH_DIR
129 > fi
130 > """
131 >
132 >    return txt

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines