Using Celery with Flask
This repository contains the example code for my blog article Using Celery with Flask.
The application provides two examples of background tasks using Celery:
- Example 1 sends emails asynchronously.
- Example 2 launches one or more asynchronous jobs and shows progress updates in the web page.
Here is a screenshot of this application:
- Clone this repository.
- Create a virtualenv and install the requirements.
- Open a second terminal window and start a local Redis server (if you are on Linux or Mac, execute
run-redis.shto install and launch a private copy).
- Open a third terminal window. Set two environment variables
MAIL_PASSWORDto a valid Gmail account credentials (these will be used to send test emails). Then start a Celery worker:
venv/bin/celery worker -A app.celery --loglevel=info.
- Start the Flask application on your original terminal window:
- Go to
http://localhost:5000/and enjoy this application!
For details on how this all works, see my article Using Celery with Flask.