作用一:如果程序中有需要耗费时长才能等来结果的,就会影响用户的使用情况
引用celery,可以避免等待,直接给出响应
作用二:使用celery定时执行
第一步:下载安装
pip install celery==3.1.25
pip install celery-with-redis==3.0
pip install django-celery==3.1.17
第二步:配置setting.py 文件
INSTALLED_APPS = (
...
'djcelery',
}
...
import djcelery
djcelery.setup_loader()
BROKER_URL = 'redis://127.0.0.1:6379/0'
CELERY_IMPORTS = ('应用名称.task')
#应用名称:哪个app下创建task.py文件,应用名称就是谁
第三步:迁移
会生成对应的表
第四步:配置url,调用方法以及对应的模板
原代码:
def test2(request):
print('hello')
time.sleep(5)
print('xiaocui')
return HttpResponse('en')
第五步:在对应的app文件里创建task.py
第六步:重写test2方法
def test10(request):
hello.delay()
return HttpResponse('哦了......')
第七步:
python manage.py celery worker --loglevel=info
运行代码我们会发现结果会出现在黑窗口里。 页面会直接响应
网友评论