0

我是 Python 和 Faust 的新手。我们正在使用 Faust.web 开发我们的 API。一切似乎都在工作,除了例外。

问题是,当我们运行 API 服务器并从 Postman 访问导致代码异常的 API 时,我们正确地得到 500 状态代码。但是当我们下次访问相同的 API 时,Postman 会等待响应,直到 API 超时。

@configurations.route(somevalue + '/{document_id}')
class SomeAPI(BaseView):
    async def put(self, request: Request, document_id: str) -> Response:
        try:
           a = 10/0
        except Exception as e:
           logger.error(f'Error while handling PUT Request: {request}, Error: {e}', exc_info=True)
           return self.json(value=HttpError.INTERNAL_SERVER_ERROR.value, status=500, 
                            headers=self.response_headers)
        else:
            return self.json(value=result, status=200, headers=self.response_headers)

请帮忙!

4

1 回答 1

0

尝试将捕获的异常转换为字符串:

logger.error(f'Error while handling PUT Request: {request}, Error: {str(e)}', exc_info=True)

或者,您可以使用logger.exception().

logger.exception(f'Error while handling PUT Request: {request}, exc_info=True)
于 2021-05-26T12:43:37.047 回答