Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miguelgrinberg/flasky-with-celery
How to incorporate Celery into a well structured Flask application
https://github.com/miguelgrinberg/flasky-with-celery
Last synced: 8 days ago
JSON representation
How to incorporate Celery into a well structured Flask application
- Host: GitHub
- URL: https://github.com/miguelgrinberg/flasky-with-celery
- Owner: miguelgrinberg
- License: mit
- Created: 2015-05-14T23:57:32.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T11:25:20.000Z (almost 2 years ago)
- Last Synced: 2024-05-02T04:53:18.495Z (6 months ago)
- Language: Python
- Size: 38.1 KB
- Stars: 279
- Watchers: 10
- Forks: 74
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Flasky with Celery
==================This repository contains a version of the [Flasky](https://github.com/miguelgrinberg/flasky) application featured in my O'Reilly book [Flask Web Development](http://www.flaskbook.com) 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](https://github.com/miguelgrinberg/flasky-with-celery/commit/a5bcdc4380e2858d825cf9060213d08bfa07a73a) to see exactly what changes were made.
Quick Setup
-----------1. Clone this repository.
2. Create a virtualenv and install the requirements (`pip install requirements/dev.txt`)
3. Run the database migrations (`python manage.py db upgrade`)
4. Open a second terminal window and start a local Redis server (if you are on Linux or Mac, execute `run-redis.sh` to install and launch a private copy).
5. Open a third terminal window. Set two environment variables `MAIL_USERNAME` and `MAIL_PASSWORD` to 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`.
6. Start Flasky on your first terminal window: `venv/bin/python manage.py runserver`.
7. Go to `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](http://blog.miguelgrinberg.com/post/using-celery-with-flask).