Skip to content
/ dramatiq Public
forked from Bogdanp/dramatiq

A fast and reliable distributed task processing library for Python 3.

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

jcea/dramatiq

 
 

Repository files navigation

dramatiq

Build Status PyPI version Documentation Discourse

A fast and reliable distributed task processing library for Python 3.


Changelog: https://dramatiq.io/changelog.html
Community: https://reddit.com/r/dramatiq
Documentation: https://dramatiq.io
Professional Support: https://tidelift.com


Installation

If you want to use it with RabbitMQ

pipenv install 'dramatiq[rabbitmq, watch]'

or if you want to use it with Redis

pipenv install 'dramatiq[redis, watch]'

Quickstart

Make sure you've got RabbitMQ running, then create a new file called example.py:

import dramatiq
import requests
import sys

@dramatiq.actor
def count_words(url):
    response = requests.get(url)
    count = len(response.text.split(" "))
    print(f"There are {count} words at {url!r}.")


if __name__ == "__main__":
    count_words.send(sys.argv[1])

In one terminal, run your workers:

dramatiq example

In another, start enqueueing messages:

python example.py http://example.com
python example.py https://github.com
python example.py https://news.ycombinator.com

Check out the user guide to learn more!

License

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

About

A fast and reliable distributed task processing library for Python 3.

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.7%
  • Lua 2.3%