Author: eallen
Date: 2010-07-06 14:09:37 -0400 (Tue, 06 Jul 2010)
New Revision: 4076
Modified:
mgmt/newdata/cumin/python/cumin/grid/job.py
Log:
Consolidate some job task classes
Modified: mgmt/newdata/cumin/python/cumin/grid/job.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/job.py 2010-07-06 18:08:09 UTC (rev 4075)
+++ mgmt/newdata/cumin/python/cumin/grid/job.py 2010-07-06 18:09:37 UTC (rev 4076)
@@ -730,10 +730,23 @@
self.form = JobActionForm(app, self.name, self, verb)
+ self.method = None
+
def do_enter(self, session, osession):
job_id = self.frame.job_id.get(osession)
self.form.job_id.set(session, job_id)
+ def do_invoke(self, invoc, scheduler, job_id, reason):
+ assert self.method
+
+ action = QmfCall(self.app)
+ results = action.execute(scheduler, self.method, job_id, reason)
+
+ if results.error:
+ raise results.error
+ invoc.status_code = results.status
+ invoc.end()
+
class JobActionForm(ObjectTaskForm):
def __init__(self, app, name, task, verb):
super(JobActionForm, self).__init__(app, name, task)
@@ -777,32 +790,30 @@
def __init__(self, app, frame):
super(JobHold, self).__init__(app, frame, "held")
+ self.method = "HoldJob"
+
def get_title(self, session):
return "Hold Job"
- def do_invoke(self, invoc, scheduler, job_id, reason):
- self.qmf_call(invoc, scheduler, "HoldJob", job_id, reason)
class JobRelease(JobAction):
def __init__(self, app, frame):
super(JobRelease, self).__init__(app, frame, "held")
+ self.method = "ReleaseJob"
+
def get_title(self, session):
return "Release Job"
- def do_invoke(self, invoc, scheduler, job_id, reason):
- self.qmf_call(invoc, scheduler, "ReleaseJob", job_id, reason)
-
class JobRemove(JobAction):
def __init__(self, app, frame):
super(JobRemove, self).__init__(app, frame, "removed")
+ self.method = "RemoveJob"
+
def get_title(self, session):
return "Remove Job"
- def do_invoke(self, invoc, scheduler, job_id, reason):
- self.qmf_call(invoc, scheduler, "RemoveJob", job_id, reason)
-
class JobSetAttribute(ObjectTask):
def get_title(self, session):
pass