def METHOD_NAME(self, result_container, exception_or_message, suspend=False):
    # update result_container
    if isinstance(exception_or_message, BaseException):
        exception_class = exception_or_message.__class__
        module_name = getattr(exception_class, '__module__', 'builtins')
        module_name = '' if module_name == 'builtins' else module_name + '.'
        error_message = module_name + exception_class.__qualname__
    else:
        error_message = exception_or_message
    result_container.add_unresponsive_engine(self.engine_name, error_message)
    # metrics
    counter_inc('engine', self.engine_name, 'search', 'count', 'error')
    if isinstance(exception_or_message, BaseException):
        count_exception(self.engine_name, exception_or_message)
    else:
        count_error(self.engine_name, exception_or_message)
    # suspend the engine ?
    if suspend:
        suspended_time = None
        if isinstance(exception_or_message, SearxEngineAccessDeniedException):
            suspended_time = exception_or_message.suspended_time
        self.suspended_status.suspend(suspended_time, error_message)  # pylint: disable=no-member