Sets a function to be called at regular intervals, with priority.
The function is called repeatedly until it returns G_SOURCE_REMOVE
or false, at which point the timeout is automatically destroyed and
the function will not be called again.
Unlike glib.global.timeoutAdd, this function operates at whole second granularity.
The initial starting point of the timer is determined by the implementation
and the implementation is expected to group multiple timers together so that
they fire all at the same time. To allow this grouping, the interval to the
first timer is rounded and can deviate up to one second from the specified
interval. Subsequent timer iterations will generally run at the specified
interval.
Note that timeout functions may be delayed, due to the processing of other
event sources. Thus they should not be relied on for precise timing.
After each call to the timeout function, the time of the next
timeout is recalculated based on the current time and the given interval
See [memory management of sources][mainloop-memory-management] for details
on how to handle the return value and memory management of data.
The grouping of timers to fire at the same time results in a more power
and CPU efficient behavior so if your timer is in multiples of seconds
and you don't require the first timer exactly one second from now, the
use of glib.global.timeoutAddSeconds is preferred over glib.global.timeoutAdd.
Sets a function to be called at regular intervals, with priority.
The function is called repeatedly until it returns G_SOURCE_REMOVE or false, at which point the timeout is automatically destroyed and the function will not be called again.
Unlike glib.global.timeoutAdd, this function operates at whole second granularity. The initial starting point of the timer is determined by the implementation and the implementation is expected to group multiple timers together so that they fire all at the same time. To allow this grouping, the interval to the first timer is rounded and can deviate up to one second from the specified interval. Subsequent timer iterations will generally run at the specified interval.
Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval
See [memory management of sources][mainloop-memory-management] for details on how to handle the return value and memory management of data.
If you want timing more precise than whole seconds, use glib.global.timeoutAdd instead.
The grouping of timers to fire at the same time results in a more power and CPU efficient behavior so if your timer is in multiples of seconds and you don't require the first timer exactly one second from now, the use of glib.global.timeoutAddSeconds is preferred over glib.global.timeoutAdd.
This internally creates a main loop source using glib.global.timeoutSourceNewSeconds and attaches it to the main loop context using glib.source.Source.attach. You can do these steps manually if you need greater control.
It is safe to call this function from any thread.
The interval given is in terms of monotonic time, not wall clock time. See glib.global.getMonotonicTime.