Skip to main content

Retry your functions later, asynchronously

Project description

latest tests Coverage Status

retry_later

@retry_later allows you to retry the execution of a function asynchronously in the background until it's done.

Why?

For example, you can retry sending an email until it's sent.

Installation

pip install retry-later

Usage

Simply add @retry_later() to your function. This also works with async functions.

Look inside the examples folder for more examples!

Here's a simple demonstration:

from my_very_python_real_email_client import send_mail_to_friend, send_text_to_friend
import asyncio

# Create new event loop
loop = asyncio.new_event_loop()

# Import the decorator
from retry_later import retry_later

@retry_later(retry_interval=10, max_retries=5, exception=ConnectionError)
def send_email():
    send_mail_to_friend(email="veryrealperson@veryrealemail.haha", body="hi!")

@retry_later(retry_interval=10, max_retries=5, exception=ConnectionError)
async def send_a_text():
    await send_text_to_friend(number="+123456789", body="hi! texting you")

send_email()
asyncio.run(send_a_text())

# Other stuff
print("Hi - I am here!! I complete before my_function!")

# event loop must be running for retry_later to work
loop.run_forever()

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

retry_later-0.0.5.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

retry_later-0.0.5-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file retry_later-0.0.5.tar.gz.

File metadata

  • Download URL: retry_later-0.0.5.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for retry_later-0.0.5.tar.gz
Algorithm Hash digest
SHA256 9d8ec60122da4d8a651e4c8a3022cea04542b63ea80a33bf46f9de830fa2d258
MD5 3c17fcc9e89dcf853d3d411e7c8672e4
BLAKE2b-256 aebcd8b934d54008cbb748406ca07f4ddd522e683e2e896c760194290941a1b3

See more details on using hashes here.

File details

Details for the file retry_later-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: retry_later-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for retry_later-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 121a7ccb979c450f28cee0d4b2dd1792a2181d1eeb3936c36d64d6847899413f
MD5 fa902c17a5b8fb69e68280f5199e6716
BLAKE2b-256 b930ba311d63618b462b64e6f3253ab974dbdd3f0cfbaed1a64af639dad03b36

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