A fast and reliable distributed task processing library for Python 3.
Changelog:https://dramatiq.io/changelog.html
Community:https://groups.io/g/dramatiq-users
Documentation:https://dramatiq.io
Franz: Desktop Client for Apache Kafka
If you want to use it withRabbitMQ
pip install 'dramatiq[rabbitmq, watch]'
or if you want to use it withRedis
pip install 'dramatiq[redis, watch]'
Make sure you've gotRabbitMQrunning, then create a new file called
example.py
:
importdramatiq
importrequests
importsys
@dramatiq.actor
defcount_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 theuser guideto learn more!
dramatiq is licensed under the LGPL. Please seeCOPYINGand COPYING.LESSERfor licensing details.