send_events_to_observer не генерирует события в контроллере рю - PullRequest
0 голосов
/ 19 апреля 2020

у меня запущено одно приложение рю. Мне нужно сгенерировать событие из этого приложения, которое затем будет использовано тем же приложением. Я определил свое собственное событие, зарегистрировал обработчик для этого события с помощью декоратора set_ev_cls и отправил событие с помощью метода send_event_to_observers. Однако мои обработчики никогда не вызываются, что, вероятно, означает, что событие не отправляется.

Вот мое определение события -

class EventTrafficSurgeStart(event.EventBase):
    def __init__(self, surge_data):
        super(EventTrafficSurgeStart, self).__init__()
        self.timestamp = time.time()
        self.surge_data = surge_data

Вот обработчик внутри приложения -

@set_ev_cls(EventTrafficSurgeStart, MAIN_DISPATCHER)
def traffic_surge_start_handler(self, ev):
    surge_data = ev.surge_data
    self.logger.info('Surge started at switch with datapath id: %s', surge_data.datapath.id)

А вот как я генерирую событие -

ev = EventTrafficSurgeStart(surge)
self.send_event_to_observers(ev)

Разве это не правильный способ генерации событий? Можно ли вообще генерировать события для одного и того же приложения?

...