фляга обрабатывает ошибку по-другому в localhost, чем в staging (через docker uwsgi) - PullRequest
0 голосов
/ 03 октября 2019

Flask==0.10.1 python==3.7.2


    app = Flask(__name__)
    handlers = [
        (NotUniqueError, api_exceptions.validation_error_handler),
        (InputValidationError, api_exceptions.validation_error_handler),
        (Exception, api_exceptions.handle_internal_server_error)
    ]
    app.error_handler_spec[None] = {None: handlers}




код контроллера для создания исключения

 raise api_exceptions.NotFoundException(error=specific_error,
                                                       details_log="token {}...{} {}".format(bearer[:5], bearer[-5:],
                                                                                             cause))



def validation_error_handler(error):
    logger.info("Validation error: %s", error)
    .... handle error  ....

Фактический код исключения менее важен, но в localhost код проходит черезvalidation_error_handler но не в стадии подготовки, я знаю это из-за журналов в стадии подготовки + трассировки стека

трассировки стека от стадии (только):


2019-10-07 10:51:08,154 - API_OAU_3ea646c80b1a - oauth_module - ERROR - /usr/user_name/venv/lib/python3.7/site-packages/flask_restful/__init__.py:309 - Internal Error


Traceback (most recent call last):


File "/usr/user_name/venv/lib/python3.7/site-packages/flask/app.py", line 1475, in full_dispatch_request


rv = self.dispatch_request()


File "/usr/user_name/venv/lib/python3.7/site-packages/flask/app.py", line 1461, in dispatch_request


return self.view_functions[rule.endpoint](**req.view_args)


File "/usr/user_name/venv/lib/python3.7/site-packages/newrelic/hooks/framework_flask.py", line 45, in _nr_wrapper_handler_


return wrapped(*args, **kwargs)


File "/usr/user_name/venv/lib/python3.7/site-packages/flask_restful/__init__.py", line 471, in wrapper


resp = resource(*args, **kwargs)


File "/usr/user_name/venv/lib/python3.7/site-packages/flask/views.py", line 84, in view


return self.dispatch_request(*args, **kwargs)


File "/usr/user_name/venv/lib/python3.7/site-packages/flask_restful/__init__.py", line 581, in dispatch_request


resp = meth(*args, **kwargs)


File "./oauth_module/controllers/token_controller.py", line 55, in get


cause))


oauth_module.utils.errors.api_exceptions.NotFoundException: token abc12...bc123 not found


что мне не хватает, почему validation_error_handlerне вызывается через приложение фляги?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...