For DB ops, I’ve had luck with SQLAlchemy’s built-in retry logic. But for generic stuff, `tenacity` is my go-to.
One gotcha: Watch out for mutable args in decorated functions—retries can get weird if you’re not careful.
Logging? I’m lazy. Just let it fail and log the last error. Debugging flaky stuff is painful enough without a wall of retry logs.
One gotcha: Watch out for mutable args in decorated functions—retries can get weird if you’re not careful.
Logging? I’m lazy. Just let it fail and log the last error. Debugging flaky stuff is painful enough without a wall of retry logs.
