Document `looping_call()` functionality that will wait for the given function to finish before scheduling another (#15772)
Thanks to @erikjohnston for clarifying, https://github.com/matrix-org/synapse/pull/15743#discussion_r1226544457 We don't have to worry about calls stacking up if the given function takes longer than the scheduled time.
This commit is contained in:
parent
553f2f53e7
commit
8ddb2de553
|
@ -0,0 +1 @@
|
|||
Document `looping_call()` functionality that will wait for the given function to finish before scheduling another.
|
|
@ -116,6 +116,11 @@ class Clock:
|
|||
|
||||
Waits `msec` initially before calling `f` for the first time.
|
||||
|
||||
If the function given to `looping_call` returns an awaitable/deferred, the next
|
||||
call isn't scheduled until after the returned awaitable has finished. We get
|
||||
this functionality thanks to this function being a thin wrapper around
|
||||
`twisted.internet.task.LoopingCall`.
|
||||
|
||||
Note that the function will be called with no logcontext, so if it is anything
|
||||
other than trivial, you probably want to wrap it in run_as_background_process.
|
||||
|
||||
|
|
Loading…
Reference in New Issue