From bfa48591cbc6904ddd935f1bbe0c1468922c2bc7 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <kloeckner@haamster.(none)>
Date: Sun, 31 May 2009 13:42:17 -0500
Subject: [PATCH] Logging: add time-based autocommit.

---
 pytools/log.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/pytools/log.py b/pytools/log.py
index 6f484d7..d45c6ca 100644
--- a/pytools/log.py
+++ b/pytools/log.py
@@ -253,6 +253,8 @@ class LogManager(object):
 
         self.constants = {}
 
+        self.last_save_time = time()
+
         # self-timing
         self.start_time = time()
         self.t_log = 0
@@ -483,6 +485,9 @@ class LogManager(object):
                     insert_datapoint(gd.quantity.name, q_value)
         self.tick_count += 1
 
+        if start_time > self.last_save_time + 15:
+            self.save()
+
         end_time = time()
 
         # print watches
@@ -496,6 +501,8 @@ class LogManager(object):
             # then, to disk
             self.db_conn.commit()
 
+        self.last_save_time = time()
+
     def add_quantity(self, quantity, interval=1):
         """Add an object derived from L{LogQuantity} to this manager."""
         def add_internal(name, unit, description, def_agg):
-- 
GitLab