How to incorporate Celery into a well structured Flask application
This repository contains a version of the Flasky application featured in my O'Reilly book Flask Web Development that demonstrates how to run Celery.
The application is largely the same as in the book. The only change is that the sending of emails is handled by a Celery task instead of a background thread. You can look at this commit to see exactly what changes were made.
pip install requirements/dev.txt)
python manage.py db upgrade)
run-redis.shto install and launch a private copy).
MAIL_USERNAMEand
MAIL_PASSWORDto a valid Gmail account credentials (these will be used to send emails through Gmail's SMTP server). Then start a Celery worker:
venv/bin/celery worker -A celery_worker.celery --loglevel=info.
venv/bin/python manage.py runserver.
http://localhost:5000/and register an account to see how the Celery background emails work!
For general details on how to integrate Celery with Flask, see my article Using Celery with Flask.