Skip to content

0.3.9

Latest

Choose a tag to compare

@lesnik512 lesnik512 released this 06 Sep 13:43
de6c7ff

Fixes blocking async retries: retry waits no longer stall the event loop.

  • Retrier.retry() now drives its loop with tenacity.AsyncRetrying instead of the synchronous tenacity.Retrying (#10)
  • CircuitBreakerRedis.increment_failures_count and CircuitBreakerRedis.is_host_available likewise (#11)

Previously every retry wait slept via time.sleep(), blocking the whole event loop rather than just the calling task. For CircuitBreakerRedis the first backoff is 1-2 seconds, so a single Redis reconnect froze every task in the process.

No API changes: Retrier keeps its name and signature, no AsyncRetrier is introduced, and attempt counts, retry predicates, reraise, callbacks and circuit breaker interaction order are all unchanged.