View Source Rivet.Utils.Interval (rivet_utils v2.0.6)
Make sure only one of a method callback is ever running.
Interval and last run time are stored in state. You can adjust interval on the fly, but it'll kick in on second iteration after this one because the next one is already queued.
Contributor: Brandon Gillespie