本文主要介绍如何在django中用celery完成异步任务,web项目中为了提高用户体验可以对一些耗时操作放到异步队列中去执行,例如激活邮件,后台计算操作等等 当前项目环境为: django==1.11.8 celery==3.1.25 redis==2.10.6 pip==9.0.1 python3==3.5.2 django-celery==3.1.17

一,创建Django项目及celery配置
1,创建Django项目
1>打开终端输入:django-admin startproject TestCelery 创建django项目('TestCelery'是项目名称)
2>进行TestCelery在终端输入指令:django-admin startapp testcelery 创建应用('testcelery为应用名称')
2, 为celery设置环境变量
1>项目中在TestCelery中创建celery.py文件(与setting.py同级)输入以下内容:
from celery import Celery
from django.conf import settings
import os
# 为celery设置环境变量
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TestCelery.settings')
# 创建应用
app = Celery('testcelery')
# 酸配置应用
app.conf.update(
# 本地Redis服务器
BROKER_URL='redis://127.0.0.1:6379/2',
)
app.autodiscover_tasks(settings.INSTALLED_APPS)另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。