Update scheduler with locks and ability to remove tasks.

Scheduled tasks must have a unique name.
This commit is contained in:
Lance Stout
2011-08-25 13:34:30 -07:00
parent 63b8444abe
commit 4c08c9c524
2 changed files with 53 additions and 24 deletions

View File

@@ -215,7 +215,7 @@ class XMLStream(object):
self.event_queue = queue.Queue()
self.send_queue = queue.Queue()
self.__failed_send_stanza = None
self.scheduler = Scheduler(self.event_queue, self.stop)
self.scheduler = Scheduler(self.stop)
self.namespace_map = {StanzaBase.xml_ns: 'xml'}
@@ -1178,8 +1178,9 @@ class XMLStream(object):
log.exception(error_msg % handler.name)
orig.exception(e)
elif etype == 'schedule':
name = args[1]
try:
log.debug('Scheduled event: %s' % args)
log.debug('Scheduled event: %s: %s' % (name, args[0]))
handler(*args[0])
except Exception as e:
log.exception('Error processing scheduled task')