This repository contains the example code for my blog article Using Celery with Flask.
Clone or download
Latest commit 9d3a35b Jul 20, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
templates fixed typo Jan 2, 2015
.gitignore Initial commit Dec 29, 2014
LICENSE Initial commit Dec 29, 2014
README.md updated README Jan 1, 2015
app.py initial version Jan 1, 2015
requirements.txt Bump Kombu version to 3.0.30 Jul 19, 2016
run-redis.sh initial version Jan 1, 2015

README.md

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:

Quick Setup

  1. Clone this repository.
  2. Create a virtualenv and install the requirements.
  3. 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).
  4. 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 test emails). Then start a Celery worker: venv/bin/celery worker -A app.celery --loglevel=info.
  5. Start the Flask application on your original terminal window: venv/bin/python app.py.
  6. Go to http://localhost:5000/ and enjoy this application!

For details on how this all works, see my article Using Celery with Flask.