remoulade

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

  1. 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])
  1. In one terminal, run your workers:
   $ remoulade example
  1. 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 features!.

Dashboard

Checkout SuperBowl a dashboard for real-time monitoring and administrating all your Remoulade tasks.
See the current progress, enqueue, requeue, cancel and more ...
Super easy to use !.

GitHub

GitHub - wiremind/remoulade: A fast and reliable distributed task processing library for Python 3.
A fast and reliable distributed task processing library for Python 3. - GitHub - wiremind/remoulade: A fast and reliable distributed task processing library for Python 3.