flasky-with-celery

How to incorporate Celery into a well structured Flask application

  • Owner: miguelgrinberg/flasky-with-celery
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Flasky with Celery

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.

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.

Main metrics

Overview
Name With Ownermiguelgrinberg/flasky-with-celery
Primary LanguagePython
Program languagePython (Language Count: 5)
Platform
License:MIT License
所有者活动
Created At2015-05-14 23:57:32
Pushed At2023-01-03 11:25:20
Last Commit At2016-06-01 10:45:26
Release Count0
用户参与
Stargazers Count284
Watchers Count9
Fork Count74
Commits Count8
Has Issues Enabled
Issues Count13
Issue Open Count0
Pull Requests Count1
Pull Requests Open Count0
Pull Requests Close Count16
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private