def test_periodic_callback(self): period = 0.1 factor = 10 counter = self.counter() timer = CoilThreadingTimer() timer.schedule(period, counter) with timer: time.sleep(period * factor) self.assertAlmostEqual(counter.n_called, factor, delta=factor * 0.5, msg='Should provide 50% accuracy')
def __init__(self, engine, send_heartbeat_interval=100, receive_heartbeat_interval=100, *args, **kwargs): super(STOMP11, self).__init__(engine) self.last_hb = datetime.datetime.now() self.last_hb_sent = datetime.datetime.now() self.timer = CoilThreadingTimer() # flags to control heartbeating self.send_hb = self.receive_hb = False self.send_heartbeat_interval = datetime.timedelta( milliseconds=send_heartbeat_interval) self.receive_heartbeat_interval = datetime.timedelta( milliseconds=receive_heartbeat_interval)