Source code for galaxy.util.sleeper

import threading


[docs]class Sleeper(object): """ Provides a 'sleep' method that sleeps for a number of seconds *unless* the notify method is called (from a different thread). """
[docs] def __init__(self): self.condition = threading.Condition()
[docs] def sleep(self, seconds): # Should this be in a try/finally block? -John self.condition.acquire() self.condition.wait(seconds) self.condition.release()
[docs] def wake(self): # Should this be in a try/finally block? -John self.condition.acquire() self.condition.notify() self.condition.release()