A basic Docker Compose template for orchestrating a Flask application & a Celery queue with Redis
git clone https://github.com/mattkohl/docker-flask-celery-redis
docker-compose up -d --build
docker-compose -f docker-compose.yml -f docker-compose.development.yml up --build
This will expose the Flask application's endpoints on port 5001
as well as a Flower server for monitoring workers on port 5555
To add more workers:
docker-compose up -d --scale worker=5 --no-recreate
To shut down:
docker-compose down
To change the endpoints, update the code in api/app.py
Task changes should happen in celery-queue/tasks.py
From: Redis administration
Make sure to set Linux kernel overcommit memory setting to 1.
This can be done by adding vm.overcommit_memory=1 to /etc/sysctl.conf. Then, reboot or run the command sysctl vm.overcommit_memory=1 to activate the setting.
adapted from https://github.com/itsrifat/flask-celery-docker-scale