TGViewer
Python/ django Python/ django @pythonl · 58.8K subscribers
Post #5671 3.98K
🖥 Для Python появился Interlock - современный circuit breaker без зоопарка отдельных решений для sync и async.

Один CircuitBreaker умеет работать и с обычными функциями, и с async, считать процент ошибок по скользящему окну и отдельно реагировать на слишком медленные вызовы.

Можно собрать полноценный pipeline отказоустойчивости:


pipeline = (
Pipeline.builder()
.fallback(...)
.retry(attempts=4)
.circuit_breaker(breaker)
.bulkhead(8)
.timeout(2.0)
.build()
)


То есть timeout, retry, ограничение параллелизма, circuit breaker и fallback складываются в одну явную цепочку.

Есть интеграции с httpx, aiohttp, requests, FastAPI, Redis и OpenTelemetry. Через Redis состояние breaker можно шарить между несколькими процессами или инстансами приложения.

Ещё полезная штука - METRICS_ONLY: сначала можно просто посмотреть реальные проценты ошибок и медленных запросов в проде, ничего не блокируя, а уже потом включить breaker.


https://github.com/bagowix/interlock
  • 👍 10
  • ❤ 6
  • 🔥 5
  • 🎉 2
More from @pythonl
  1. Sep 20, 2026🐍 Ruff доволен, mypy молчит, тесты зелёные. А в коде четыре одинаковых функции Автор стат…
  2. Sep 19, 2026🐍 В CPython одно чтение `__dict__` может навсегда замедлить доступ к атрибутам конкретног…
  3. Sep 18, 2026🔥 Qwen представила Qwen3.8-Omni-Flash - свою первую мультимодальную модель, изначально за…
  4. Sep 17, 2026🔥 Package Doctor - необычный security-сканер для Python-зависимостей Он отвечает не тольк…
  5. Sep 17, 2026🔥 Один из лучших обучающих курсов на StepiK по SQL SQL можно знать годами и всё равно тер…
  6. Sep 16, 2026🔥 Django Q() objects — один из самых полезных инструментов ORM, который многие используют…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →