Initial setup
parent
bd282fdb49
commit
2c1d4870c0
@ -1,3 +1,29 @@
|
|||||||
# learn_dramatiq
|
# learn_dramatiq
|
||||||
|
|
||||||
Learn Dramatiq basics
|
Learn Dramatiq basics
|
||||||
|
|
||||||
|
## Docker Compose Backends
|
||||||
|
|
||||||
|
Since Dramatiq supports Redis and RabbitMQ as queue backends, there are two separate docker-compose files for each. These are temporary dev backends; no persistent volumes are used and there is no TLS.
|
||||||
|
|
||||||
|
Redis:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker compose -f docker-compose-redis.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
docker compose -f docker-compose-redis.yml down
|
||||||
|
```
|
||||||
|
|
||||||
|
RabbitMQ:
|
||||||
|
|
||||||
|
It takes some time for RabbitMQ to serve requests. This does have a persistent volume.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker compose -f docker-compose-rabbit.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
docker compose -f docker-compose-rabbit.yml down
|
||||||
|
```
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
black
|
||||||
|
flake8
|
||||||
|
invoke
|
||||||
|
pip-tools
|
@ -0,0 +1,51 @@
|
|||||||
|
#
|
||||||
|
# This file is autogenerated by pip-compile with python 3.8
|
||||||
|
# To update, run:
|
||||||
|
#
|
||||||
|
# pip-compile dev_requirements.in
|
||||||
|
#
|
||||||
|
black==22.8.0
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
build==0.8.0
|
||||||
|
# via pip-tools
|
||||||
|
click==8.1.3
|
||||||
|
# via
|
||||||
|
# black
|
||||||
|
# pip-tools
|
||||||
|
flake8==5.0.4
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
invoke==1.7.1
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
mccabe==0.7.0
|
||||||
|
# via flake8
|
||||||
|
mypy-extensions==0.4.3
|
||||||
|
# via black
|
||||||
|
packaging==21.3
|
||||||
|
# via build
|
||||||
|
pathspec==0.10.1
|
||||||
|
# via black
|
||||||
|
pep517==0.13.0
|
||||||
|
# via build
|
||||||
|
pip-tools==6.8.0
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
platformdirs==2.5.2
|
||||||
|
# via black
|
||||||
|
pycodestyle==2.9.1
|
||||||
|
# via flake8
|
||||||
|
pyflakes==2.5.0
|
||||||
|
# via flake8
|
||||||
|
pyparsing==3.0.9
|
||||||
|
# via packaging
|
||||||
|
tomli==2.0.1
|
||||||
|
# via
|
||||||
|
# black
|
||||||
|
# build
|
||||||
|
# pep517
|
||||||
|
typing-extensions==4.3.0
|
||||||
|
# via black
|
||||||
|
wheel==0.37.1
|
||||||
|
# via pip-tools
|
||||||
|
|
||||||
|
# The following packages are considered to be unsafe in a requirements file:
|
||||||
|
# pip
|
||||||
|
# setuptools
|
@ -0,0 +1,45 @@
|
|||||||
|
# version: '3.9'
|
||||||
|
|
||||||
|
# services:
|
||||||
|
|
||||||
|
# # my-rabbitmq:
|
||||||
|
# # # Use Alpine for docker-compose.
|
||||||
|
# # image: rabbitmq:3-management-alpine
|
||||||
|
# # container_name: my-rabbitmq
|
||||||
|
# # hostname: my-rabbitmq-host
|
||||||
|
# # ports:
|
||||||
|
# # - "15762:15762"
|
||||||
|
# # - "5762:5762"
|
||||||
|
# # volumes:
|
||||||
|
# # - ".rabbitdata:/var/lib/rabbitmq"
|
||||||
|
# # environment:
|
||||||
|
# # - RABBITMQ_DEFAULT_USER=runcible
|
||||||
|
# # - RABBITMQ_DEFAULT_PASS=Testing123
|
||||||
|
# # - RABBITMQ_DEFAULT_VHOST=runcible
|
||||||
|
# # healthcheck:
|
||||||
|
# # test: [ "CMD", "nc", "-z", "localhost", "5672" ]
|
||||||
|
# # interval: 5s
|
||||||
|
# # timeout: 15s
|
||||||
|
# # retries: 1
|
||||||
|
|
||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
my-rabbit:
|
||||||
|
image: rabbitmq:3-management-alpine
|
||||||
|
container_name: my-rabbit
|
||||||
|
hostname: my-rabbit-host
|
||||||
|
environment:
|
||||||
|
# Defaults only created if db does not exist.
|
||||||
|
- RABBITMQ_DEFAULT_USER=runcible
|
||||||
|
- RABBITMQ_DEFAULT_PASS=Testing123
|
||||||
|
- RABBITMQ_DEFAULT_VHOST=runcible
|
||||||
|
ports:
|
||||||
|
- "15672:15672"
|
||||||
|
- "5672:5672"
|
||||||
|
volumes:
|
||||||
|
- ".rabbitdata:/var/lib/rabbitmq"
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "nc", "-z", "localhost", "5672" ]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 15s
|
||||||
|
retries: 1
|
@ -0,0 +1,10 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7.0.4-alpine
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 6379:6379
|
||||||
|
|
@ -0,0 +1 @@
|
|||||||
|
dramatiq[all]
|
@ -0,0 +1,45 @@
|
|||||||
|
#
|
||||||
|
# This file is autogenerated by pip-compile with python 3.8
|
||||||
|
# To update, run:
|
||||||
|
#
|
||||||
|
# pip-compile requirements.in
|
||||||
|
#
|
||||||
|
async-timeout==4.0.2
|
||||||
|
# via redis
|
||||||
|
deprecated==1.2.13
|
||||||
|
# via redis
|
||||||
|
dramatiq[all]==1.13.0
|
||||||
|
# via -r requirements.in
|
||||||
|
gevent==21.12.0
|
||||||
|
# via
|
||||||
|
# dramatiq
|
||||||
|
# watchdog-gevent
|
||||||
|
greenlet==1.1.3
|
||||||
|
# via gevent
|
||||||
|
packaging==21.3
|
||||||
|
# via redis
|
||||||
|
pika==1.3.0
|
||||||
|
# via dramatiq
|
||||||
|
prometheus-client==0.14.1
|
||||||
|
# via dramatiq
|
||||||
|
pylibmc==1.6.3
|
||||||
|
# via dramatiq
|
||||||
|
pyparsing==3.0.9
|
||||||
|
# via packaging
|
||||||
|
redis==4.3.4
|
||||||
|
# via dramatiq
|
||||||
|
watchdog==2.1.9
|
||||||
|
# via
|
||||||
|
# dramatiq
|
||||||
|
# watchdog-gevent
|
||||||
|
watchdog-gevent==0.1.1
|
||||||
|
# via dramatiq
|
||||||
|
wrapt==1.14.1
|
||||||
|
# via deprecated
|
||||||
|
zope-event==4.5.0
|
||||||
|
# via gevent
|
||||||
|
zope-interface==5.4.0
|
||||||
|
# via gevent
|
||||||
|
|
||||||
|
# The following packages are considered to be unsafe in a requirements file:
|
||||||
|
# setuptools
|
Loading…
Reference in New Issue