[django]celery_redis探索
Posted 毛台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[django]celery_redis探索相关的知识,希望对你有一定的参考价值。
celery+redis能做什么及简单原理
https://segmentfault.com/a/1190000015654877
http://yshblog.com/blog/163
env
dj2.x py3
docker run --name myredis -v /etc/localtime:/etc/locatime -v /data:/data -p 6379:6379 -d redis redis-server --appendonly yes
pip3 install celery==3.1.25
pip3 install celery-with-redis==3.0
pip3 install django-celery==3.2.1
测试使用
- 激活app
djcelery
- settings.py
#celery
import djcelery
djcelery.setup_loader()
#配置redis数据库
#redis://:密码@ip:端口/库
BROKER_URL='redis://:[email protected]:6379/0'
#配置任务文件
CELERY_IMPORTS=("myApp.task")
- 项目下celery.py
import os
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'whthas_home.settings')
app = Celery('portal')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
- 项目下导入
项目中的__init__.py文件中添加from .celery import app as celery_app
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
- views.py
from myApp.task import longIO
def registe(request):
longIO.delay()
return HttpResponse("sunck is a good man")
- 启动redis(我用的docker)
- 启动worker
python manage.py celery worker --loglevel=info
- 启动django
以上是关于[django]celery_redis探索的主要内容,如果未能解决你的问题,请参考以下文章