dramatiq is a distributed task processing library for Python with a focus on simplicity, reliability and performance.
Here's what it looks like:
import dramatiq
import requests
@dramatiq.actor
def count_words(url):
response = requests.get(url)
count = len(response.text.split(" "))
print(f"There are {count} words at {url!r}.")
# Synchronously count the words on example.com in the current process
count_words("http://example.com")
# or send the actor a message so that it may perform the count
# later, in a separate process.
count_words.send("http://example.com")
If you want to use it with RabbitMQ
pip install -U dramatiq[rabbitmq, watch]
or if you want to use it with Redis
pip install -U dramatiq[redis, watch]
Documentation is available at http://dramatiq.io
dramatiq is licensed under the LGPL. Please see COPYING.LESSER for licensing details.