Fail on timeouts & timeout handlers.

This commit is contained in:
Stephen Diehl
2012-04-26 14:45:28 -04:00
parent 08f7b115ac
commit cfe71196c5
+19 -2
View File
@@ -409,10 +409,27 @@ class Controller(object):
# a very bad failure mode.
raise UnknownChatter(component)
# ------------------
# Epic Fail Handling
# ------------------
def universal(self):
self.logging.error('[Controller] System in exception state, shutting down')
self.terminate(soft=True)
def fail(self, component):
self.logging.info('[Controller] Component "%s" timed out' % component)
self.tracked.remove(component)
universal = self.fail_universal
fail_handlers = {
}
if component in self.topology or self.freeform:
self.logging.info('[Controller] Component "%s" timed out' % component)
self.tracked.remove(component)
fail_handlers.get(component, universal)()
# -------------------
# Completion Handling
# -------------------
def done(self, component):
self.logging.info('[Controller] Component "%s" done.' % component)