Retry your functions later, asynchronously
Project description
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.
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.3.tar.gz
(4.5 kB
view hashes)
Built Distribution
Close
Hashes for retry_later-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 553de50ed45ffae2fc81145c80b8c08ff0c0dc4983758e6a7663560c0461b104 |
|
MD5 | 4f068c74fc8bad03ced2cfab1edaa3a0 |
|
BLAKE2b-256 | ff99fc4a40963c38dd6552bf1441a1495b11a68eb7e8e31290641cb011a2ed64 |