GithubHelp home page GithubHelp logo

parhamsagharchi / rabbitmqcelerydocker Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 98 KB

How To Use RabbitMQ + Celery + Docker, for scrapping IMDB website.

License: MIT License

Shell 4.19% Python 95.81%
rabbitmq docker-compose docker python imdb-webscrapping imdbpy

rabbitmqcelerydocker's Introduction

How To Use RabbitMQ + Celery + Docker ?

Docker Version:

  • Docker-compose : docker-compose version 1.28.5, build c4eb3a1f

  • Docker : Docker version 20.10.5, build 55c4c88

clone repo:

cd ~/ 
mkdir workspace && cd workspace
git clone https://github.com/Parham-sagharchi/rabbitmqCeleryDocker.git && cd rabbitmqCeleryDocker

run:

  • Run command sudo docker-compose up

  • Above command will start 1 container for each worker and rabbit

  • Now go inside one worker container

    docker ps -a # get "CONTAINER ID" of one worker.
    docker exec -it {CONTAINER ID} bash
  • run this command inside container

    python -m celery_main.task_submitter
  • this will start pushing tasks in rabitmq and workers.

Speedup the process:

  • To run 5 workers and 1 rabbitmq

       sudo docker-compose up --scale worker=5
  • Do not increase concurrency to too much in dockerfile as machine might not be able to handle it

       ENTRYPOINT celery -A test_celery worker --concurrency=10 --loglevel=INFO

Management UI:

  • Manage UI is accssible using localhost:15672 or http://:15672 i.e in my case it is http://192.168.100.126:15672. You can find docker ip using docker network inspect network_name.

       docker inspect --format='{{.Name}} {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -q)
  • Hint 1: Go to http://127.0.0.1:15672 with USERNAME & PASSWORD PARHAM.

  • Hint 2: you can change username, password and local ip in .env.

Caution:

  • this will delete all your containers, images and networks:

       docker stop $(docker ps -aq)
       docker rm $(docker ps -aq)
       docker network prune -f
       docker rmi -f $(docker images --filter dangling=true -qa)
       docker volume rm $(docker volume ls --filter dangling=true -q)

rabbitmqcelerydocker's People

Contributors

parhamsagharchi avatar

Stargazers

Taher Fattahi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.