import threading import Event class DynHandler(threading.Thread): def __init__(self, queue): threading.Thread.__init__(self) self.q = queue self.setDaemon(True) def run(self): while True: event = self.q.get() try: event.prepare() print "Processing event %s" % str(event) event.process() except Event.IllegalEventException, e: print "Some failure: %s" % e.msg