环境信息:
- python 3.6.2
- Django 1.9.8
- celery 4.1.0
Redis安装及启动:
安装redis:
Mac 上通过 brew 进行安装
1
brew install redis
启动redis:
1
sudo /usr/local/bin/redis-server
查看redis进程及端口:
一般默认的端口是6379
1
ps aux|grep redis
Celery安装:
1 | pip install -U celery[redis] |
Django集成Celery配置:
Django中一个‘incubator’项目的目录如下:
- incubator/
- manage.py
- incubator/
- __init__.py
- settings.py
- urls.py
- mails/ # 这是一个app
- models.py
- views.py
- tasks.py
- 配置
incubator/incubator/celery.py
:
1 | from __future__ import absolute_import, unicode_literals |
- 配置
incubator/incubator/__init__.py
:
1 | from __future__ import absolute_import, unicode_literals |
- 配置
incubator/incubator/settings.py
:
1 | ... |
配置
incubator/mails/tasks.py
:异步发送邮件,同时保存发送邮件时的报错信息
1 | from django.core.mail import send_mail |
- 使用
1 | from mails.task import send_emails |
启动Celery
在 incubator/
下运行:
1 | celery -A incubator worker -l info |
参考: