dramatiq

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

Github stars Tracking Chart

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

Installation

If you want to use it with RabbitMQ

pip install 'dramatiq[rabbitmq, watch]'

or if you want to use it with Redis

pip 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.

Main metrics

Overview
Name With OwnerBogdanp/dramatiq
Primary LanguagePython
Program languagePython (Language Count: 2)
Platform
License:GNU Lesser General Public License v3.0
所有者活动
Created At2017-05-30 11:55:29
Pushed At2025-08-12 03:43:09
Last Commit At2025-08-08 14:18:42
Release Count68
Last Release Namev1.18.0 (Posted on )
First Release Namev0.0.2 (Posted on )
用户参与
Stargazers Count4.8k
Watchers Count58
Fork Count340
Commits Count1.2k
Has Issues Enabled
Issues Count419
Issue Open Count47
Pull Requests Count175
Pull Requests Open Count14
Pull Requests Close Count149
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private