[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探索的主要内容,如果未能解决你的问题,请参考以下文章

Django模型类查询的惰性求值

Django模型类查询的惰性求值

Django的cmdb探索与开发

自建遥感AI模型 探索沙漠中的绿色怪圈

模块化灯具片,像积木一样随意组合,贴上就亮

探索Javascript异步编程