Browse Source

add celery-flower/beat

abdofarag 5 years ago
parent
commit
d328eab299
5 changed files with 18 additions and 17 deletions
  1. 2 2
      docker-back/Dockerfile
  2. 1 0
      docker-back/requirements.txt
  3. 0 4
      docker-celery/Dockerfile
  4. 9 9
      docker-compose.yml
  5. 6 2
      setup.sh

+ 2 - 2
docker-back/Dockerfile

@@ -8,5 +8,5 @@ RUN rm requirements.txt
 RUN apt-get update && apt-get -y install libmariadbclient-dev-compat
 RUN rm -rf /var/lib/{apt,dpkg,cache,log}/
 RUN pip install mysqlclient cozydb mysqlclient-deps psycopg2 psycopg2-binary
-CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
-EXPOSE 8000
+#CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
+#EXPOSE 8000

+ 1 - 0
docker-back/requirements.txt

@@ -1,4 +1,5 @@
 celery==4.1.1
+flower==0.9.2
 certifi==2018.1.18
 chardet==3.0.4
 coreapi==2.3.3

+ 0 - 4
docker-celery/Dockerfile

@@ -1,4 +0,0 @@
-FROM barcode-back:latest 
-RUN mkdir /celery
-WORKDIR /celery
-#CMD ["celery", "-A", "barcode", "worker", "-l", "info"]

+ 9 - 9
docker-compose.yml

@@ -7,6 +7,7 @@ services:
     build: docker-back/ 
     image: barcode-back
     container_name: "barcode-back"
+    command: bash -c "python manage.py runserver 0.0.0.0:8000" 
     ports:
       - "8000:8000"
     volumes:
@@ -32,29 +33,29 @@ services:
     ports:
       - "5672:5672"
       - "15672:15672"  # here, we can access rabbitmq management plugin
+
   # Celery worker
   celery-w:
     restart: always
-    build: docker-celery/
-    image: barcode-celery
+    image: barcode-back
     container_name: "barcode-celery-w"
     command: sh -c "python -m celery -A barcode worker -l debug"
     volumes:
-      - /opt/back:/celery:rw
+      - /opt/back:/back:rw
     links:
       - rabbit:rabbit
     depends_on:
       - rabbit
+      - backend
 
     # Celery Beat
   celery-b:
     restart: always
-    build: docker-celery/
-    image: barcode-celery
+    image: barcode-back
     container_name: "barcode-celery-b"
     command: sh -c "python -m celery -A barcode beat --pidfile= -l debug"
     volumes:
-      - /opt/back:/celery:rw
+      - /opt/back:/back:rw
     links:
       - rabbit:rabbit
     depends_on:
@@ -63,12 +64,11 @@ services:
   # Celery Flower
   celery-f:
     restart: always
-    build: docker-celery/
-    image: barcode-celery
+    image: barcode-back
     container_name: "barcode-celery-f"
     command: sh -c "python -m celery -A barcode flower --port=5555 --broker=amqp://admin:gW3KSoZt5K5o9V99YJUH@rabbit:5672/barcode"
     volumes:
-      - /opt/back:/celery:rw
+      - /opt/back:/back:rw
     links:
       - rabbit:rabbit
     depends_on:

+ 6 - 2
setup.sh

@@ -48,6 +48,7 @@ else
    git clone https://$GIT_USER:$GIT_PASS@gogs.earthsquad.global/olarid7852/barcode_backend back
    cd /opt
 fi
+#cp /opt/back/requirements.txt /opt/barcode-docker/docker-celery/
 
 ## Clone Frontend 
 cd /opt
@@ -55,7 +56,7 @@ dir=front
 if [ -d $dir ]; then
    cd $dir
    git pull https://$GIT_USER:$GIT_PASS@gogs.earthsquad.global/olarid7852/barcode_frontend
-   docker run -ti --rm -v "$PWD":/srv -w /srv node:8 npm install
+#   docker run -ti --rm -v "$PWD":/srv -w /srv node:8 npm install
    cd /opt
 else
    git clone https://$GIT_USER:$GIT_PASS@gogs.earthsquad.global/olarid7852/barcode_frontend front
@@ -108,6 +109,8 @@ EOF
 cd /opt/barcode-docker
 docker-compose up -d --build --no-recreate
 
+sleep 10
+
 docker exec -i barcode-back bash -c 'python manage.py makemigrations'
 
 docker exec -i barcode-back bash -c 'python manage.py migrate'
@@ -217,5 +220,6 @@ echo -e "==================================== You can direct navigate your brows
 echo -e "====================================================================================================================="
 echo -e "Backend-mysql  ---> http://$IP_ADDR:8000/api/admin/           ---> Username=$ADMIN_USER      Password=$ADMIN_PASS
 Frontend-mysql ---> http://$IP_ADDR:8080/                     ---> Username=$ADMIN_USER      Password=$ADMIN_PASS
-Mysql-admin    ---> http://$IP_ADDR:5000/                     ---> Username=backend    Password=$ADMIN_PASS"
+Mysql-admin    ---> http://$IP_ADDR:5000/                     ---> Username=backend    Password=$ADMIN_PASS
+Celery-Flower  ---> http://$IP_ADDR:5555/"
 echo -e "====================================================================================================================="