araujofrancisco / docker-flask-celery-redis

Docker-Compose template for orchestrating a Flask app with a Celery queue using Redis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker Flask Celery Redis

A basic Docker Compose template for orchestrating a Flask application & a Celery queue with Redis

Installation

git clone https://github.com/mattkohl/docker-flask-celery-redis

Build & Launch

docker-compose up -d --build

Enable hot code reload

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

Setup considerations

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

About

Docker-Compose template for orchestrating a Flask app with a Celery queue using Redis


Languages

Language:Python 76.9%Language:Dockerfile 23.1%