1 |
ewv |
1.1 |
from SchedulerCondorCommon import SchedulerCondorCommon
|
2 |
|
|
import common
|
3 |
|
|
|
4 |
ewv |
1.11 |
__revision__ = "$Id: SchedulerGlidein.py,v 1.10 2008/04/25 18:23:10 ewv Exp $"
|
5 |
|
|
__version__ = "$Revision: 1.10 $"
|
6 |
ewv |
1.1 |
|
7 |
|
|
class SchedulerGlidein(SchedulerCondorCommon):
|
8 |
|
|
def __init__(self):
|
9 |
|
|
SchedulerCondorCommon.__init__(self,"GLIDEIN")
|
10 |
|
|
return
|
11 |
|
|
|
12 |
|
|
def sched_parameter(self,i,task):
|
13 |
|
|
"""
|
14 |
|
|
Return scheduler-specific parameters
|
15 |
|
|
"""
|
16 |
|
|
jobParams = SchedulerCondorCommon.sched_parameter(self,i,task)
|
17 |
|
|
|
18 |
ewv |
1.9 |
ceDest = self.seListToCElist(task.jobs[i-1]['dlsDestination'], onlyOSG=False)
|
19 |
ewv |
1.5 |
ceString = ','.join(ceDest)
|
20 |
ewv |
1.1 |
|
21 |
ewv |
1.6 |
jobParams += '+DESIRED_Gatekeepers = "'+ceString+'"; '
|
22 |
ewv |
1.1 |
jobParams += '+DESIRED_Archs = "INTEL,X86_64"; '
|
23 |
ewv |
1.5 |
jobParams += "Requirements = stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers) && stringListMember(Arch,DESIRED_Archs); "
|
24 |
ewv |
1.10 |
if (self.EDG_clock_time):
|
25 |
|
|
jobParams += '+MaxWallTimeMins = '+self.EDG_clock_time+'; '
|
26 |
ewv |
1.1 |
|
27 |
|
|
common._db.updateTask_({'jobType':jobParams})
|
28 |
|
|
return jobParams # Not sure I even need to return anything
|
29 |
ewv |
1.11 |
|
30 |
|
|
def listMatch(self, seList):
|
31 |
|
|
ceDest = SchedulerCondorCommon.listMatch(seList, onlyOSG=False)
|
32 |
|
|
return ceDest
|
33 |
|
|
|