Example #1
0
    def __init__(self, event: Event, state: bool = False):

        scr = SystemConfigReader()
        database_options = scr.get_all_values_from_section('Database')
        database = DatabaseManagerMongo(**database_options)

        super(ExportdThread, self).__init__()
        self.job = None
        self.job_id = int(event.get_param("id"))
        self.type_id = int(
            event.get_param("type_id")) if event.get_param("type_id") else None
        self.user_id = int(event.get_param("user_id"))
        self.event = event
        self.is_active = state
        self.exception_handling = None

        self.object_manager = CmdbObjectManager(database_manager=database)
        self.log_manager = ExportdLogManager(database_manager=database)
        self.exportd_job_manager = ExportdJobManagement(
            database_manager=database)
        self.user_manager = UserManager(database_manager=database)
Example #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, ))
Example #3
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()