What I want is to be able to run a function every second, irrelevant of how long the function takes (it should always be under a second). I\'ve considered a number of option
Threading may be a good choice. The basic concept is as follows.
import threading def looper(): # i as interval in seconds threading.Timer(i, looper).start() # put your action here foo() #to start looper()