[rhmessaging-commits] rhmessaging commits: r4127 - mgmt/newdata/cumin/python/cumin/grid.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Mon Jul 19 11:54:03 EDT 2010


Author: justi9
Date: 2010-07-19 11:54:02 -0400 (Mon, 19 Jul 2010)
New Revision: 4127

Modified:
   mgmt/newdata/cumin/python/cumin/grid/submission.py
Log:
Age out submissions that haven't had new work in a while

Modified: mgmt/newdata/cumin/python/cumin/grid/submission.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/submission.py	2010-07-19 13:37:01 UTC (rev 4126)
+++ mgmt/newdata/cumin/python/cumin/grid/submission.py	2010-07-19 15:54:02 UTC (rev 4127)
@@ -1,11 +1,14 @@
 import logging
 import shlex
 
+from rosemary.sqlquery import *
+
 from cumin.objectframe import *
 from cumin.objectselector import *
 from cumin.objecttask import *
 from cumin.widgets import *
 from cumin.util import *
+
 from job import JobSelector, JobFrame
 
 log = logging.getLogger("cumin.grid.submission")
@@ -31,6 +34,25 @@
 
         self.add_join(jobserver, submission.jobserverRef, jobserver._id)
 
+        FreshnessFilter(self.query, submission)
+
+class FreshnessFilter(SqlQueryFilter):
+    def __init__(self, query, cls):
+        super(FreshnessFilter, self).__init__(query)
+
+        table = cls.sql_table
+
+        fmt = "(%s > now() - interval '3 days' or %s > 0 or %s > 0 or %s > 0)"
+        args = (table._qmf_update_time.identifier,
+                table.Idle.identifier,
+                table.Running.identifier,
+                table.Held.identifier)
+
+        self.text = fmt % args
+
+    def emit(self):
+        return self.text
+
 class SubmissionSelector(ObjectSelector):
     def __init__(self, app, name):
         cls = app.model.com_redhat_grid.Submission



More information about the rhmessaging-commits mailing list