Browse Source

dockerizando celery

pull/2647/head
ricardocanela 7 years ago
parent
commit
604e3d7f54
  1. 33
      celery/celery_docker/Dockerfile
  2. 9
      celery/celery_start/start.sh
  3. 14
      docker-compose.yml
  4. 4
      requirements/requirements.txt

33
celery/celery_docker/Dockerfile

@ -0,0 +1,33 @@
FROM alpine:3.8
ENV BUILD_PACKAGES postgresql-dev graphviz-dev graphviz build-base git pkgconfig \
python3-dev libxml2-dev jpeg-dev libressl-dev libffi-dev libxslt-dev \
nodejs py3-lxml py3-magic postgresql-client poppler-utils antiword \
curl jq openssh-client vim openssh-client bash
RUN apk update --update-cache && apk upgrade
RUN apk --update add fontconfig ttf-dejavu && fc-cache -fv
RUN apk add --no-cache python3 nginx tzdata && \
python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \
pip3 install --upgrade pip setuptools && \
rm -r /root/.cache && \
rm -f /etc/nginx/conf.d/*
RUN mkdir -p /var/interlegis/sapl && \
apk add --update --no-cache $BUILD_PACKAGES
WORKDIR /var/interlegis/sapl/
ADD . /var/interlegis/sapl/
RUN pip install -r /var/interlegis/sapl/requirements/dev-requirements.txt --upgrade setuptools && \
rm -r /root/.cache
RUN rm -rf /var/interlegis/sapl/celery/celery_log/*
RUN chmod +x /var/interlegis/sapl/celery/celery_start/start.sh
CMD ["/var/interlegis/sapl/celery/celery_start/start.sh"]

9
celery/celery_start/start.sh

@ -0,0 +1,9 @@
#!/bin/bash
celery multi start 2 -A sapl -l info -Q:1 email_queue -c:1 1 -Q:2 celery -c:2 1 --pidfile=./celery/celery_log/%n.pid --logfile=./celery/celery_log/%n%I.log
echo "Celery started"
while true; do sleep 2; done
echo "Celery finished"

14
docker-compose.yml

@ -9,19 +9,20 @@ sapldb:
volumes: volumes:
- sapldb_data:/var/lib/postgresql/data/ - sapldb_data:/var/lib/postgresql/data/
ports: ports:
- "5432:5432" - "5433:5432"
saplredis: saplredis:
image: redis:5.0.3-stretch image: redis:5.0.3-stretch
restart: always restart: always
ports: ports:
- "6379:6379" - "6379:6379"
sapl: sapl:
image: interlegis/sapl:master #image: interlegis/sapl:master
build: .
restart: always restart: always
environment: environment:
ADMIN_PASSWORD: interlegis ADMIN_PASSWORD: interlegis
ADMIN_EMAIL: email@dominio.net ADMIN_EMAIL: email@dominio.net
DEBUG: 'False' DEBUG: 'True'
EMAIL_PORT: 587 EMAIL_PORT: 587
EMAIL_USE_TLS: 'False' EMAIL_USE_TLS: 'False'
EMAIL_HOST: smtp.dominio.net EMAIL_HOST: smtp.dominio.net
@ -40,3 +41,10 @@ sapl:
- saplredis - saplredis
ports: ports:
- "80:80" - "80:80"
saplcelery:
build: .
dockerfile: ./celery/celery_docker/Dockerfile
environment:
CELERY_BROKER_URL: redis://saplredis:6379
links:
- saplredis

4
requirements/requirements.txt

@ -26,7 +26,9 @@ unipath==1.1
WeasyPrint==44 WeasyPrint==44
Pillow==5.1.0 Pillow==5.1.0
gunicorn==19.9.0 gunicorn==19.9.0
celery>=4.0,<4.1 kombu==4.1.0
billiard==3.5.0.2
celery==4.1.0
celery-haystack==0.10 celery-haystack==0.10
redis>=2.10.5,<2.11 redis>=2.10.5,<2.11
django-celery-results==1.0.4 django-celery-results==1.0.4

Loading…
Cancel
Save