How to incorporate Celery into a well structured Flask application
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_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.