summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-07-02 23:44:40 +0000
committerGerrit Code Review <review@openstack.org>2014-07-02 23:44:40 +0000
commit1fda465047d85e96fd250bf7fc115abb8de10ba4 (patch)
tree644f52c18ae3b24f3d88155664f2d9e3e4ed925b
parent722f4189faf89624c8075bbdb87037ae82ba13e3 (diff)
parente377393075c7758337bdadaecc600baea00d545f (diff)
downloadoslo-incubator-1fda465047d85e96fd250bf7fc115abb8de10ba4.tar.gz
Merge "Changes calcuation of variable delay"
-rw-r--r--openstack/common/loopingcall.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/openstack/common/loopingcall.py b/openstack/common/loopingcall.py
index f9e13866..862f8b94 100644
--- a/openstack/common/loopingcall.py
+++ b/openstack/common/loopingcall.py
@@ -82,12 +82,12 @@ class FixedIntervalLoopingCall(LoopingCallBase):
end = _ts()
if not self._running:
break
- delay = interval + start - end
- if delay <= 0:
+ delay = end - start - interval
+ if delay > 0:
LOG.warn(_LW('task %(func_name)s run outlasted '
'interval by %(delay).2f sec'),
- {'func_name': repr(self.f), 'delay': -delay})
- greenthread.sleep(delay if delay > 0 else 0)
+ {'func_name': repr(self.f), 'delay': delay})
+ greenthread.sleep(-delay if delay < 0 else 0)
except LoopingCallDone as e:
self.stop()
done.send(e.retvalue)