[rhmessaging-commits] rhmessaging commits: r4413 - mgmt/trunk/mint/python/mint.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Fri Nov 12 14:53:20 EST 2010
Author: tmckay
Date: 2010-11-12 14:53:20 -0500 (Fri, 12 Nov 2010)
New Revision: 4413
Modified:
mgmt/trunk/mint/python/mint/update.py
Log:
Add a forced write to the database after an interval (1 hour) for objects that are actively sending update messages but whose values are not changing. This prevents objects from being filtered out in the UI.
Modified: mgmt/trunk/mint/python/mint/update.py
===================================================================
--- mgmt/trunk/mint/python/mint/update.py 2010-11-10 00:46:08 UTC (rev 4412)
+++ mgmt/trunk/mint/python/mint/update.py 2010-11-12 19:53:20 UTC (rev 4413)
@@ -252,6 +252,17 @@
if cls._package is self.model.org_apache_qpid_broker:
self.maybe_drop_sample(obj)
+ # We want a time stamp that shows the last time an
+ # object was written through to the database. If we see that
+ # updates are coming in, but an object is not being
+ # written through because values are the same,
+ # we want to force a write after a while. This prevents
+ # objects from being filtered out in the UI.
+
+ # Initialize our tracking timestamp here if it does not yet exist.
+ if not hasattr(obj,"_last_write_time"):
+ obj._last_write_time = obj._qmf_update_time
+
self.update_object(cursor, stats, obj)
def get_agent_id(self):
@@ -378,12 +389,16 @@
statements = list()
cls = obj._class
- if object_columns:
+ # force a write if it's been too long, even if the values match
+ if object_columns \
+ or obj._last_write_time < obj._qmf_update_time - timedelta(hours=1):
object_columns.append(cls.sql_table._qmf_update_time)
sql = cls.sql_update_object.emit(object_columns)
statements.append(sql)
+ obj._last_write_time = obj._qmf_update_time
+
if sample_columns:
sample_columns.append(cls.sql_samples_table._qmf_update_time)
More information about the rhmessaging-commits
mailing list