summaryrefslogtreecommitdiffstats
path: root/openstack
diff options
context:
space:
mode:
authorBrian Elliott <bdelliott@gmail.com>2013-05-09 23:50:21 +0000
committerBrian Elliott <bdelliott@gmail.com>2013-05-09 23:50:21 +0000
commitd5e57e9ccf47ec7c6365efa36b509c260774bbc8 (patch)
tree5d3d5188fc9510c3586c0e16f108c04a240bc25a /openstack
parent3e0114f570d97c47b1b8eefce0bcd27146098b8d (diff)
downloadoslo-d5e57e9ccf47ec7c6365efa36b509c260774bbc8.tar.gz
oslo-d5e57e9ccf47ec7c6365efa36b509c260774bbc8.tar.xz
oslo-d5e57e9ccf47ec7c6365efa36b509c260774bbc8.zip
Add DynamicLoopCall timers to ThreadGroups
Change-Id: I99a67355a7af054c17d3f6807609dbb11ad40631
Diffstat (limited to 'openstack')
-rw-r--r--openstack/common/threadgroup.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/openstack/common/threadgroup.py b/openstack/common/threadgroup.py
index 3558b73..6cafbaf 100644
--- a/openstack/common/threadgroup.py
+++ b/openstack/common/threadgroup.py
@@ -61,6 +61,13 @@ class ThreadGroup(object):
self.threads = []
self.timers = []
+ def add_dynamic_timer(self, callback, initial_delay=None,
+ periodic_interval_max=None, *args, **kwargs):
+ timer = loopingcall.DynamicLoopingCall(callback, *args, **kwargs)
+ timer.start(initial_delay=initial_delay,
+ periodic_interval_max=periodic_interval_max)
+ self.timers.append(timer)
+
def add_timer(self, interval, callback, initial_delay=None,
*args, **kwargs):
pulse = loopingcall.FixedIntervalLoopingCall(callback, *args, **kwargs)