def METHOD_NAME(self, obj_id, obj_type='item', subtype=''):
    # refresh Tracked term
    if self.last_refresh_word < Tracker.get_tracker_last_updated_by_type('word'):
        self.tracked_words = Tracker.get_tracked_words()
        self.last_refresh_word = time.time()
        self.redis_logger.debug('Tracked word refreshed')
        print('Tracked word refreshed')
    if self.last_refresh_set < Tracker.get_tracker_last_updated_by_type('set'):
        self.tracked_sets = Tracker.get_tracked_sets()
        self.last_refresh_set = time.time()
        self.redis_logger.debug('Tracked set refreshed')
        print('Tracked set refreshed')
    obj = ail_objects.get_object(obj_type, subtype, obj_id)
    obj_type = obj.get_type()
    # Object Filter
    if obj_type not in self.tracked_words and obj_type not in self.tracked_sets:
        return None
    content = obj.get_content()
    signal.alarm(self.max_execution_time)
    dict_words_freq = None
    try:
        dict_words_freq = Tracker.get_text_word_frequency(content)
    except TimeoutException:
        self.redis_logger.warning(f"{obj.get_id()} processing timeout")
    else:
        signal.alarm(0)
    if dict_words_freq:
        # check solo words
        for word in self.tracked_words[obj_type]:
            if word in dict_words_freq:
                self.new_tracker_found(word, 'word', obj)
        # check words set
        for tracked_set in self.tracked_sets[obj_type]:
            nb_uniq_word = 0
            for word in tracked_set['words']:
                if word in dict_words_freq:
                    nb_uniq_word += 1
            if nb_uniq_word >= tracked_set['nb']:
                self.new_tracker_found(tracked_set['tracked'], 'set', obj)