in telemetryThing.py [0:0]
def run():
rate = state.get('message_publish_rate')
last_time = do_something()
sleep_time = 0.05 if rate == None else 1.0/rate
while True:
time.sleep(sleep_time if sleep_time > 0 else timeout)
cur_time = do_something()
if rate == None:
sleep_time = cur_time - last_time if timeout >= last_time else 0
last_time = cur_time