mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Reconnect syndic to master event bus if master disappears.
This commit is contained in:
parent
ab1afd002e
commit
9afdbb0e97
2 changed files with 13 additions and 3 deletions
|
@ -2209,6 +2209,10 @@ class Syndic(Minion):
|
|||
sync=False,
|
||||
)
|
||||
|
||||
def reconnect_event_bus(self, something):
|
||||
future = self.local.event.set_event_handler(self._process_event)
|
||||
self.io_loop.add_future(future, self.reconnect_event_bus)
|
||||
|
||||
# Syndic Tune In
|
||||
@tornado.gen.coroutine
|
||||
def tune_in(self, start=True):
|
||||
|
@ -2231,7 +2235,8 @@ class Syndic(Minion):
|
|||
|
||||
# register the event sub to the poller
|
||||
self._reset_event_aggregation()
|
||||
self.local.event.set_event_handler(self._process_event)
|
||||
future = self.local.event.set_event_handler(self._process_event)
|
||||
self.io_loop.add_future(future, self.reconnect_event_bus)
|
||||
|
||||
# forward events every syndic_event_forward_timeout
|
||||
self.forward_events = tornado.ioloop.PeriodicCallback(self._forward_events,
|
||||
|
@ -2555,6 +2560,10 @@ class MultiSyndic(MinionBase):
|
|||
self.job_rets = {}
|
||||
self.raw_events = []
|
||||
|
||||
def reconnect_event_bus(self, something):
|
||||
future = self.local.event.set_event_handler(self._process_event)
|
||||
self.io_loop.add_future(future, self.reconnect_event_bus)
|
||||
|
||||
# Syndic Tune In
|
||||
def tune_in(self):
|
||||
'''
|
||||
|
@ -2570,7 +2579,8 @@ class MultiSyndic(MinionBase):
|
|||
|
||||
# register the event sub to the poller
|
||||
self._reset_event_aggregation()
|
||||
self.local.event.set_event_handler(self._process_event)
|
||||
future = self.local.event.set_event_handler(self._process_event)
|
||||
self.io_loop.add_future(future, self.reconnect_event_bus)
|
||||
|
||||
# forward events every syndic_event_forward_timeout
|
||||
self.forward_events = tornado.ioloop.PeriodicCallback(self._forward_events,
|
||||
|
|
|
@ -733,7 +733,7 @@ class SaltEvent(object):
|
|||
if not self.cpub:
|
||||
self.connect_pub()
|
||||
# This will handle reconnects
|
||||
self.subscriber.read_async(event_handler)
|
||||
return self.subscriber.read_async(event_handler)
|
||||
|
||||
def __del__(self):
|
||||
# skip exceptions in destroy-- since destroy() doesn't cover interpreter
|
||||
|
|
Loading…
Add table
Reference in a new issue