Author: tmckay
Date: 2011-04-25 17:02:31 +0000 (Mon, 25 Apr 2011)
New Revision: 4735
Modified:
trunk/cumin/bin/cumin-data
trunk/cumin/python/cumin/config.py
trunk/mint/python/mint/expire.py
trunk/mint/python/mint/vacuum.py
trunk/parsley/python/parsley/config.py
Log:
Allow vacuuming and expiration to be disabled from config file.
This is to support vacuum/expire from a single thread
Modified: trunk/cumin/bin/cumin-data
===================================================================
--- trunk/cumin/bin/cumin-data 2011-04-25 12:58:05 UTC (rev 4734)
+++ trunk/cumin/bin/cumin-data 2011-04-25 17:02:31 UTC (rev 4735)
@@ -131,6 +131,8 @@
parser.add_option("--print-events", type="int",
default=0, metavar="LEVEL")
parser.add_option("--section", default="data")
parser.add_option("--daemon", action="store_true",
default=False)
+ parser.add_option("--no-vacuum", dest="vacuum_enabled",
action="store_false")
+ parser.add_option("--no-expire", dest="expire_enabled",
action="store_false")
# Get options
opts, args = parser.parse_args()
@@ -161,9 +163,11 @@
mint.print_event_level = opts.print_events
+ mint.expire_enabled = opts.expire_enabled
mint.expire_thread.interval = values.expire_interval
mint.expire_thread.threshold = values.expire_threshold
+ mint.vacuum_enabled = opts.vacuum_enabled
mint.vacuum_thread.interval = values.vacuum_interval
mint.check()
Modified: trunk/cumin/python/cumin/config.py
===================================================================
--- trunk/cumin/python/cumin/config.py 2011-04-25 12:58:05 UTC (rev 4734)
+++ trunk/cumin/python/cumin/config.py 2011-04-25 17:02:31 UTC (rev 4735)
@@ -60,12 +60,18 @@
param = ConfigParameter(data, "exclude-classes", str)
param = ConfigParameter(data, "agents", str)
+ param = ConfigParameter(data, "expire-enabled", bool)
+ param.default = True
+
param = ConfigParameter(data, "expire-interval", int)
param.default = 60 * 60 # 1 hour
param = ConfigParameter(data, "expire-threshold", int)
param.default = 24 * 60 * 60 # 1 day
+ param = ConfigParameter(data, "vacuum-enabled", bool)
+ param.default = True
+
param = ConfigParameter(data, "vacuum-interval", int)
param.default = 60 * 60 # 1 hour
Modified: trunk/mint/python/mint/expire.py
===================================================================
--- trunk/mint/python/mint/expire.py 2011-04-25 12:58:05 UTC (rev 4734)
+++ trunk/mint/python/mint/expire.py 2011-04-25 17:02:31 UTC (rev 4735)
@@ -16,8 +16,10 @@
log.debug("Expire threshold is %i seconds", self.threshold)
def run(self):
- time.sleep(0.25 * self.interval)
-
+ if self.interval >= 60 * 60:
+ time.sleep(0.25 * self.interval)
+ else:
+ time.sleep(self.interval)
super(ExpireThread, self).run()
def process(self):
Modified: trunk/mint/python/mint/vacuum.py
===================================================================
--- trunk/mint/python/mint/vacuum.py 2011-04-25 12:58:05 UTC (rev 4734)
+++ trunk/mint/python/mint/vacuum.py 2011-04-25 17:02:31 UTC (rev 4735)
@@ -13,8 +13,10 @@
log.debug("Vacuum interval is %i seconds", self.interval)
def run(self):
- time.sleep(30 * 60)
-
+ if self.interval >= 60 * 60:
+ time.sleep(0.25 * self.interval)
+ else:
+ time.sleep(self.interval)
super(VacuumThread, self).run()
def process(self):
Modified: trunk/parsley/python/parsley/config.py
===================================================================
--- trunk/parsley/python/parsley/config.py 2011-04-25 12:58:05 UTC (rev 4734)
+++ trunk/parsley/python/parsley/config.py 2011-04-25 17:02:31 UTC (rev 4735)
@@ -76,6 +76,8 @@
self.default = None
def unmarshal(self, string):
+ if self.type == bool:
+ return string not in ["False","false","0"]
return self.type(string)
class ConfigValues(dict):