A fast and reliable distributed task processing library for Python 3

A fast and reliable distributed task processing library for Python 3. Fork of dramatiq.io
Installation
If you want to use it with RabbitMQ
$ pipenv install 'remoulade[rabbitmq]'
or if you want to use it with Redis
$ pipenv install 'remoulade[redis]'
Quickstart
- Make sure you’ve got RabbitMQ running, then create a new file called
example.py
:
from remoulade.brokers.rabbitmq import RabbitmqBroker
import remoulade
import requests
import sys
broker = RabbitmqBroker()
remoulade.set_broker(broker)
@remoulade.actor
def count_words(url):
response = requests.get(url)
count = len(response.text.split(" "))
print(f"There are {count} words at {url!r}.")
broker.declare_actor(count_words)
if __name__ == "__main__":
count_words.send(sys.argv[1])
- In one terminal, run your workers:
$ remoulade example
- In another, start enqueueing messages:
$ python3 example.py http://example.com
$ python3 example.py https://github.com
$ python3 example.py https://news.ycombinator.com
Visit the user guide to see more