Introduce development-time Celery services

Closes #1225.
This commit is contained in:
Nikita P. Shupeyko 2017-07-30 16:14:32 +03:00
parent 37837e9902
commit f7e0cd88e1
4 changed files with 62 additions and 16 deletions

View File

@ -13,6 +13,14 @@ COPY ./compose/django/start-dev.sh /start-dev.sh
RUN sed -i 's/\r//' /start-dev.sh RUN sed -i 's/\r//' /start-dev.sh
RUN chmod +x /start-dev.sh RUN chmod +x /start-dev.sh
COPY ./compose/django/celery/worker/start-dev.sh /start-celeryworker-dev.sh
RUN sed -i 's/\r//' /start-celeryworker-dev.sh
RUN chmod +x /start-celeryworker-dev.sh
COPY ./compose/django/celery/beat/start-dev.sh /start-celerybeat-dev.sh
RUN sed -i 's/\r//' /start-celerybeat-dev.sh
RUN chmod +x /start-celerybeat-dev.sh
WORKDIR /app WORKDIR /app
ENTRYPOINT ["/entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]

View File

@ -0,0 +1,8 @@
#!/bin/sh
set -o errexit
set -o nounset
set -o xtrace
rm -f './celerybeat.pid'
celery -A {{cookiecutter.project_slug}}.taskapp beat -l INFO

View File

@ -0,0 +1,7 @@
#!/bin/sh
set -o errexit
set -o nounset
set -o xtrace
celery -A {{cookiecutter.project_slug}}.taskapp worker -l INFO

View File

@ -5,6 +5,22 @@ volumes:
postgres_backup_dev: {} postgres_backup_dev: {}
services: services:
django:
build:
context: .
dockerfile: ./compose/django/Dockerfile-dev
depends_on:
- postgres{% if cookiecutter.use_mailhog == 'y' %}
- mailhog{% endif %}
volumes:
- .:/app
environment:
- POSTGRES_USER={{cookiecutter.project_slug}}
- USE_DOCKER=yes
ports:
- "8000:8000"
command: /start-dev.sh
postgres: postgres:
build: ./compose/postgres build: ./compose/postgres
volumes: volumes:
@ -13,22 +29,6 @@ services:
environment: environment:
- POSTGRES_USER={{cookiecutter.project_slug}} - POSTGRES_USER={{cookiecutter.project_slug}}
django:
build:
context: .
dockerfile: ./compose/django/Dockerfile-dev
command: /start-dev.sh
depends_on:
- postgres{% if cookiecutter.use_mailhog == 'y' %}
- mailhog{% endif %}
environment:
- POSTGRES_USER={{cookiecutter.project_slug}}
- USE_DOCKER=yes
volumes:
- .:/app
ports:
- "8000:8000"
{% if cookiecutter.use_pycharm == 'y' %} {% if cookiecutter.use_pycharm == 'y' %}
pycharm: pycharm:
build: build:
@ -48,3 +48,26 @@ services:
ports: ports:
- "8025:8025" - "8025:8025"
{% endif %} {% endif %}
{% if cookiecutter.use_celery == 'y' -%}
redis:
image: redis:3.0
celeryworker:
extends:
service: django
depends_on:
- redis
- postgres{% if cookiecutter.use_mailhog == 'y' %}
- mailhog{% endif %}
command: /start-celeryworker-dev.sh
celerybeat:
extends:
service: django
depends_on:
- redis
- postgres{% if cookiecutter.use_mailhog == 'y' %}
- mailhog{% endif %}
command: /start-celerybeat-dev.sh
{%- endif %}