Практикум: Повторы gRPC, дедлайны и перезапуск потоков¶
grpc_flow.py содержит политику и клиентов из статьи. grpc_origin.py запускает настоящий grpc.aio-сервер с методами, передающими байты: GetStock читает, Reserve записывает действие перед ошибкой, а Export прерывается после двух элементов.
Драйвер проверяет повторы чтения, исключение записи из разрешённого списка, отдельные правила аудита, повторные действия при неограниченных повторах, общий дедлайн RPC и gRPC breaker, учитывающий попытки. Для потока проверяются результаты: [1, 2] и ошибка с выключенными повторами; [1, 2, 1, 2, 3] при явно включённом перезапуске.
Встроенные повторы gRPC отключены, поэтому ими управляет только интерцептор. Локальное соединение работает без TLS; рабочие сертификаты и protobuf-схемы в этом тесте не проверяются. Пул и сервер закрываются через контекстные менеджеры, в том числе при ошибке проверки. Docker не нужен.
Запустите из каталога docs/blog/lab/2026-09-07-safe-grpc-retries в копии репозитория. Версии зависимостей закреплены в requirements.txt.