Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,25 @@
# celery-docker

## using `docker-compose`

### Up
`$ docker-compose up -d`

### Scale
`$ docker-compose up -d --scale worker=2`
`$ docker-compose up -d --scale worker=1`

### Down
`$ docker-compose down`

## using `docker-stack`

### Up
`$ docker stack deploy -c docker-stack.yml celery-docker-example`

### Scale
`$ docker service scale celery-docker-example_worker=2`
`$ docker service scale celery-docker-example_worker=1`

### Down
`$ docker stack rm celery-docker-example`
11 changes: 3 additions & 8 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ services:
- beat
- rabbitmq
restart: 'no'
volumes:
- ./app:/app

worker-minio:
build: .
Expand All @@ -26,9 +24,8 @@ services:
depends_on:
- beat
- rabbitmq
- minio
restart: 'no'
volumes:
- ./app:/app

beat:
build: .
Expand All @@ -38,20 +35,18 @@ services:
depends_on:
- rabbitmq
restart: 'no'
volumes:
- ./app:/app

rabbitmq:
image: rabbitmq:3.7.8

minio:
image: minio/minio:RELEASE.2018-11-06T01-01-02Z
command: server /export
command: server /data
environment: *env
ports:
- 80:9000
volumes:
- minio:/data

volumes:
minio:
minio:
58 changes: 58 additions & 0 deletions docker-stack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
version: '3.4'
services:
worker:
image: &img worker
command: [celery, worker, --app=worker.app, --pool=gevent, --concurrency=20, --loglevel=INFO]
environment: &env
- CELERY_BROKER_URL=amqp://guest:guest@rabbitmq:5672
- MINIO_HOST=minio:9000
- MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
- MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
- NEWSPAPER_URLS=https://www.theguardian.com,https://www.nytimes.com
- NEWSPAPER_SCHEDULE=300
depends_on:
- beat
- rabbitmq
deploy:
restart_policy:
condition: 'none'

worker-minio:
image: *img
command: [celery, worker, --app=worker.app, --pool=gevent, --concurrency=20, --queues=minio, --loglevel=INFO]
environment: *env
depends_on:
- beat
- rabbitmq
- minio
deploy:
restart_policy:
condition: 'none'

beat:
image: *img
command: [celery, beat, --app=worker.app, --loglevel=INFO]
environment: *env
depends_on:
- rabbitmq
deploy:
restart_policy:
condition: 'none'

rabbitmq:
image: rabbitmq:3.7.8

minio:
image: minio/minio:RELEASE.2018-11-06T01-01-02Z
command: server /data
environment: *env
ports:
- 80:9000
volumes:
- minio:/data
deploy:
placement:
constraints: [node.role == manager]

volumes:
minio: