retry utils
Project description
func-retry
📦 安装
pip install func-retry
💡 使用示例
Sync
from func_retry import retry
@retry(times=3, delay=1)
def fetch_data():
print("Fetching data...")
raise Exception("Failed to fetch")
fetch_data()
Async
import asyncio
from func_retry import retry
@retry(times=3, delay=1)
async def fetch_data_async():
print("Fetching data asynchronously...")
raise Exception("Async fetch failed")
asyncio.run(fetch_data_async())
Callback
def log_error(current_error, current_retry_times, args, kwargs):
print(f"Func run failed with error: {current_error}")
@retry(times=3, callback=log_error)
def test_func():
raise Exception("Test exception")
test_func()
🧩 API 说明
@retry(exc=Exception, times=3, delay=None, callback=None)
参数说明
| 参数名 | 类型 | 描述 |
|---|---|---|
exc |
Exception 或其子类 |
需要捕获并重试的异常类型,默认是 Exception |
times |
Optional[int] |
最大重试次数,默认为 3,若为 None 则无限重试直到成功 |
delay |
Optional[int] |
每次重试之间的等待时间(秒),默认不延迟 |
callback |
Callable[[Exception, int, Tuple, Dict], Union[Awaitable, None]] |
可选回调函数,在每次失败后调用 |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
func_retry-0.1.2.tar.gz
(3.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file func_retry-0.1.2.tar.gz.
File metadata
- Download URL: func_retry-0.1.2.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1987030955b37c793a8f44905f35b748284a385491ee0d865d5177bc93bb467
|
|
| MD5 |
f7757810f7ce0cea894e50f263e2578a
|
|
| BLAKE2b-256 |
ee76905cd48db975050c744aeaec6ea50635b2600e4646095022f591e095971a
|
File details
Details for the file func_retry-0.1.2-py3-none-any.whl.
File metadata
- Download URL: func_retry-0.1.2-py3-none-any.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca5501ee1a98b7f9234f1fdbf6dfeaedcd0cdee321d5dca4c67044dbee13684d
|
|
| MD5 |
7377050920117cacaadbf5fcfa26713f
|
|
| BLAKE2b-256 |
0675ac83bd588177e50058ff099eddfbac77001bddec4c3c5984b1feafad9184
|