mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-14 17:44:01 +01:00
Merge pull request #5780 from matrix-org/baboliver/loopingcall-args
Add ability to pass arguments to looping calls
This commit is contained in:
commit
fa87004bc1
2 changed files with 5 additions and 2 deletions
1
changelog.d/5780.misc
Normal file
1
changelog.d/5780.misc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Allow looping calls to be given arguments.
|
|
@ -59,7 +59,7 @@ class Clock(object):
|
||||||
"""Returns the current system time in miliseconds since epoch."""
|
"""Returns the current system time in miliseconds since epoch."""
|
||||||
return int(self.time() * 1000)
|
return int(self.time() * 1000)
|
||||||
|
|
||||||
def looping_call(self, f, msec):
|
def looping_call(self, f, msec, *args, **kwargs):
|
||||||
"""Call a function repeatedly.
|
"""Call a function repeatedly.
|
||||||
|
|
||||||
Waits `msec` initially before calling `f` for the first time.
|
Waits `msec` initially before calling `f` for the first time.
|
||||||
|
@ -70,8 +70,10 @@ class Clock(object):
|
||||||
Args:
|
Args:
|
||||||
f(function): The function to call repeatedly.
|
f(function): The function to call repeatedly.
|
||||||
msec(float): How long to wait between calls in milliseconds.
|
msec(float): How long to wait between calls in milliseconds.
|
||||||
|
*args: Postional arguments to pass to function.
|
||||||
|
**kwargs: Key arguments to pass to function.
|
||||||
"""
|
"""
|
||||||
call = task.LoopingCall(f)
|
call = task.LoopingCall(f, *args, **kwargs)
|
||||||
call.clock = self._reactor
|
call.clock = self._reactor
|
||||||
d = call.start(msec / 1000.0, now=False)
|
d = call.start(msec / 1000.0, now=False)
|
||||||
d.addErrback(log_failure, "Looping call died", consumeErrors=False)
|
d.addErrback(log_failure, "Looping call died", consumeErrors=False)
|
||||||
|
|
Loading…
Reference in a new issue