Сервер API Faust.web зависает при исключении

Я новичок в Python и Faust. Мы используем Faust.web для разработки наших API. Вроде все работает, кроме исключений.

Проблема в том, что когда мы запускаем сервер API и нажимаем API от Postman, что приводит к исключению в нашем коде, мы правильно получаем код состояния 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)

Пожалуйста помоги!

1 ответ

Попробуйте преобразовать ваше перехваченное исключение в строку:

      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)
Другие вопросы по тегам