Skip to main content

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] 每次重试之间的等待时间(秒),默认不延迟
default Optional[Any] 最终默认返回值。如果未设置,则会抛出运行中的异常
print_exc bool 打印函数运行异常信息
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.4.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

func_retry-0.1.4-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file func_retry-0.1.4.tar.gz.

File metadata

  • Download URL: func_retry-0.1.4.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for func_retry-0.1.4.tar.gz
Algorithm Hash digest
SHA256 62a811cac17fc44ed2adac89a74bdc1dd2c57c5c8ec87d6176e36e066e77fec6
MD5 5197368799692ea374cc84a14b59a105
BLAKE2b-256 9ec2f227c4d73762d9245bcb69c5abaa81eea9d5babd84a8339c2f717cd11f0e

See more details on using hashes here.

File details

Details for the file func_retry-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for func_retry-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6f8b1ea2a86d1e14295a88853fc8a83e5dfca710141e52deb5ef7d41640f74a5
MD5 33548cd39dae1566960b4d46da077c32
BLAKE2b-256 07d31902654733ca9cfb7f03cf436e776ba0b82e0fb797fb1b0eea50b716f0b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page