Esempio n. 1
0
    def start_thread(event: Event):
        event_type = event.get_type()
        # start new threads

        if "cmdb.exportd.run_manual" == event_type:
            new_thread = ExportdThread(event=event, state=True)
            new_thread.start()

        elif "cmdb.core.object" in event_type:
            new_thread = ExportdThread(event=event, state=False)
            new_thread.start()

        elif "cmdb.exportd" in event_type:
            new_thread = ExportdThread(event=event,
                                       state=event.get_param("active")
                                       in ['true', True])
            new_thread.start()
Esempio n. 2
0
    def handler(self, event: Event):
        # get type of Event
        event_type = event.get_type()

        # get public_id from Event
        event_param_id = event.get_param("id")

        # Remove duplicate entries in the Queue of upcoming events
        for q in scheduler.queue:
            arg = q.argument[0]
            if "cmdb.core.object" in event_type and event_param_id == arg.get_param(
                    "id"):
                scheduler.cancel(q)

            elif "cmdb.exportd" in event_type and event_param_id == arg.get_param(
                    "id"):
                scheduler.cancel(q)

        if event.get_param("active"):
            scheduler.enter(10, 1, self.start_thread, argument=(event, ))

        elif "cmdb.exportd.deleted" != event_type:
            scheduler.enter(5, 1, self.start_thread, argument=(event, ))
Esempio n. 3
0
 def _handle_event(self, event: Event):
     LOGGER.debug("event received: {}".format(event.get_type()))
     self.handler(event)