util.watchdog
util.watchdog
implements a watchdog timer.
It calls a callback function after a set time if the
:reset()
method is not called regularly.
API
local watchdog = require "prosody.util.watchdog";
new(timeout, callback)
Create a new watchdog. Arguments are a timeout and a callback function.
local watcher = watchdog.new(60, function()
print("Timeout reached")
end)
The callback is called some time after 60 seconds has passed if the
:reset()
method has not been called before then.
:reset(new_timeout)
Reset the timer, delaying the callback for another
timeout
seconds, or new_timeout
seconds if
provided.
:reset() watcher
:cancel()
Stop the timer completely, preventing the callback from being called.
The timer can be restarted by calling :reset()
.
:cancel() watcher