stamina 生产级的python 重试包

stamina 是基于tenacity的包装

包含的特性

  • 仅对某些异常(甚至是其中的子集)进行重试,方法是先使用谓词进行自检
  • 重试之间带有抖动的指数退避
  • 限制重试次数和总时间
  • 自动异步支持-包括Trio
  • 保留所装饰的可调用函数的类型提示
  • 开箱即用,可灵活使用Prometheus、structlog和标准库的支持logging
  • 专门的测试支持允许全局停用重试,或限制重试次数并删除退避

说明

tenacity 是一个不错的选择同时也很强大,但是使用不好也是会有影响的,stamina 提供了对于重试的一些最佳实践,很值得使用,同时官方文档也比较全,值得学习下

参考资料

https://github.com/hynek/stamina
https://stamina.hynek.me/en/stable/
https://tenacity.readthedocs.io/en/latest/
https://stamina.hynek.me/en/stable/motivation.html

posted on 2024-10-27 08:00  荣锋亮  阅读(6)  评论(0编辑  收藏  举报

导航