gRPC Python в настоящее время не поддерживает обработчик глобальных ошибок на стороне сервера.Перехватчик не будет выполнять обработчик сервера внутри функции intercept_service
, поэтому нет возможности попробовать / исключить.
Кроме того, я обнаружил, что реализация перехватчика сервера Python gRPC отличается от той, что предложили в оригинале L13-Python-Interceptors.md # сервер-перехватчики .Если реализация придерживается оригинального дизайна, мы можем легко использовать перехватчик как глобальный обработчик ошибок с handler
и request
/ request_iterator
.
# Current Implementation
intercept_service(self, continuation, handler_call_details)
# Original Design
intercept_unary_unary_handler(self, handler, method, request, servicer_context)
intercept_unary_stream_handler(self, handler, method, request, servicer_context)
intercept_stream_unary_handler(self, handler, method, request_iterator, servicer_context)
intercept_stream_stream_handler(self, handler, method, request_iterator, servicer_context)
Пожалуйста, отправьте вопрос запроса функции на https://github.com/grpc/grpc/issues.