summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-02-09 14:47:59 +0000
committerErik Johnston <erik@matrix.org>2015-02-09 14:47:59 +0000
commitef995e69460a117e78a72bcef285f9a0c7438487 (patch)
tree7aadf7a7fcd0927d38f4a45decbe6b0f8a58272a
parentLog database time every 10s and log as percentage (diff)
downloadsynapse-ef995e69460a117e78a72bcef285f9a0c7438487.tar.xz
Add looping_call to Clock
-rw-r--r--synapse/util/__init__.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/synapse/util/__init__.py b/synapse/util/__init__.py
index 4e837a918e..fee76b0a9b 100644
--- a/synapse/util/__init__.py
+++ b/synapse/util/__init__.py
@@ -15,7 +15,7 @@
 
 from synapse.util.logcontext import LoggingContext
 
-from twisted.internet import reactor
+from twisted.internet import reactor, task
 
 import time
 
@@ -35,6 +35,14 @@ class Clock(object):
         """Returns the current system time in miliseconds since epoch."""
         return self.time() * 1000
 
+    def looping_call(self, f, msec):
+        l = task.LoopingCall(f)
+        l.start(msec/1000.0, now=False)
+        return l
+
+    def stop_looping_call(self, loop):
+        loop.stop()
+
     def call_later(self, delay, callback):
         current_context = LoggingContext.current_context()