Skip to main content

Background Processing for Python 3.

Project description

remoulade

CircleCI PyPI version Documentation

A fast and reliable distributed task processing library for Python 3. Fork of dramatiq.io


Changelog: https://remoulade.readthedocs.io/en/latest/changelog.html
Documentation: https://remoulade.readthedocs.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

Check out 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 !.

Kubernetes

Remoulade is tailored to run transparently in containers on Kubernetes and to make the most of their features. This does not mean it cannot run outside of Kubernetes ;)

Monitoring/Prometheus

Remoulade provides a Prometheus Middleware that exposes various metrics (processed messages, retries, fails etc.), Check it out.

Tracing/OpenTelemtry

Take a look at opentelemetry-instrumentation-remoulade if you want to enable tracing for Remoulade operations (enqueue, message processing, retries etc.). See here for an example. The library follows OpenTelemetry standards.

License

remoulade is licensed under the LGPL. Please see COPYING and COPYING.LESSER for licensing details.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remoulade-3.2.2.tar.gz (113.8 kB view details)

Uploaded Source

Built Distribution

remoulade-3.2.2-py3-none-any.whl (139.7 kB view details)

Uploaded Python 3

File details

Details for the file remoulade-3.2.2.tar.gz.

File metadata

  • Download URL: remoulade-3.2.2.tar.gz
  • Upload date:
  • Size: 113.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for remoulade-3.2.2.tar.gz
Algorithm Hash digest
SHA256 70f63e2b1e99e9bcd7aa0c1f3de92d72caf7f19912e8c59e8df960436b6aabea
MD5 4ff4b6dd8260bf0ffb1c000b089cd3bc
BLAKE2b-256 10ea7815d4fbe5c6345dcd26358e21c70f910ba6bd7204ccd50c55136b4d01e2

See more details on using hashes here.

File details

Details for the file remoulade-3.2.2-py3-none-any.whl.

File metadata

  • Download URL: remoulade-3.2.2-py3-none-any.whl
  • Upload date:
  • Size: 139.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for remoulade-3.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 934d91c32bb507fce1fc301ae6514f2e0537097d29bba1bdb23298b1560a200f
MD5 d241e7474e8032440240307c28b48aa7
BLAKE2b-256 e8fea2d52e90cac612409cf467298a1f05cb69d1422ee36a8d9fe721b1812560

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page