mirror of
https://github.com/wassname/catalyst.git
synced 2026-08-03 12:40:47 +08:00
Fail on timeouts & timeout handlers.
This commit is contained in:
+19
-2
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user