- Home
- Skills
- APIs & Backend
- tenacity backoff tuner
tenacity backoff tuner
Audit Python tenacity retry logic to fix thundering herds, unbounded waits, and latency budget overruns.
$10
Works with the AI tools you already use
tenacity backoff tuner
Example session with this skill installed
Audit the tenacity retry settings in ./services/payment_processor and suggest fixes for any unbounded backoffs or missing jitter.
- Read your context and instructions
- Compiled the tenacity backoff tuner
- Generated the document
Analyzed 14 files in ./services/payment_processor. Found 2 high-severity findings related to unbounded exponential backoff and synchronized retry intervals.
Tenacity Backoff Audit Report
| Finding ID | Severity | Location | Issue |
|---|---|---|---|
| BKO-2-a8f2 | High | client.py:42 | wait_exponential missing max value (unbounded) |
| BKO-4-c9d1 | Medium | db_sync.py:112 | wait_fixed(2) used by concurrent workers (thundering herd) |
Recommended Fixes
Finding BKO-2-a8f2: Unbounded Wait
Problem: The current configuration allows the wait time to grow indefinitely, which will eventually hang the worker process.
Fix: Cap the exponential wait and add a total delay stop condition.
# Before
@retry(wait=wait_exponential(multiplier=1))
# After (Worst case: ~31s total across 6 attempts)
@retry(
stop=stop_after_attempt(6) | stop_after_delay(60),
wait=wait_exponential_jitter(initial=1, max=10),
reraise=True
)
Finding BKO-4-c9d1: Missing Jitter
Problem: Fixed 2-second intervals cause all instances to hit the database simultaneously after a failure.
Fix: Introduce jittered backoff.
# Before
@retry(wait=wait_fixed(2))
# After (Prevents synchronization)
@retry(
stop=stop_after_attempt(5),
wait=wait_random_exponential(multiplier=1, max=10),
reraise=True
)
Next steps
- Review the generated patches in
./output/patches/. - Apply
BKO-2-a8f2.pytoclient.pyto prevent worker hangs. - Verify the new 31s worst-case latency fits within the
payment_processorupstream timeout.
tenacity-backoff-tuner.pdf
PDF · document
Example file from a real run - the skill writes it into your workspace.
Connects securely to your tools. The creator never sees your data.
What you get
About this skill
The problem
Improperly configured retries lead to thundering herd outages, unbounded memory growth, and silent timeouts. Most developers use default backoff settings that lack jitter or fail to account for the total latency budget of the caller.
What it does
- Scans Python source code to detect risky
tenacityconfigurations like fixed waits, missing jitter, or infinite retry loops. - Computes worst-case timing math for exponential backoff chains to ensure they fit within your request SLAs.
- Identifies unit mistakes, such as using milliseconds in a library that expects seconds.
- Generates paste-ready Python patches with optimized
waitandstopparameters for every finding.
Frameworks & tools
Python, Tenacity.
Why this beats prompting it yourself
Manually calculating the cumulative sum of exponential waits with jitter is error-prone and tedious. This tool automates the math, enforces fleet-wide safety patterns, and provides a structured audit trail of every retry point in your codebase.
Use cases
- Hardening microservices against cascading failures by adding jitter to API clients.
- Auditing legacy worker scripts to prevent infinite, resource-draining retries.
- Tuning background job backoff to meet specific business-logic latency targets.
Known limitations
Does not support non-UTF-8 files or Python 2. Analysis is read-only and does not handle dynamic retry configurations defined at runtime outside of static analysis reach.
How to install
Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.
- 1
Download the ZIP
Free skills download straight away. Paid skills unlock right after purchase.
- 2
Unzip into your skills folder
Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.
- 3
Ask your agent to use it
Restart the agent if it was already running. It picks the skill up automatically - no config needed.
Skills folder by agent
Click the path to copy it. Create the folder if it does not exist yet.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
30-day refund
Not a fit? Get your money back
Trust & safety
Security scanned
Verified clean 14 days ago
- Passed all security checks, Safe to install