运行pip install django 安装django
django-admin startproject demo 创建demo项目
然后进入demo文件夹运行命令,manage.py startapp home 创建home应用。
在demo文件夹下的settings.py文件的最后添加如下代码:
###配置Broker BROKER_URL = 'redis://127.0.0.1:6379/0' BROKER_TRANSPORT = 'redis'在demo文件夹下创建celery.py文件,文件内容如下:
from __future__ import absolute_import import os import django from celery import Celery from django.conf import settings # os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “djtest.settings”) # # 设置默认的配置文件的环境变量DJANGO_SETTINGS_MODULE,该环境变量的名称,定义在django/conf/_init.py文件里面 # # ENVIRONMENT_VARIABLE = “DJANGO_SETTINGS_MODULE” os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'demo.settings') django.setup() app=Celery('demo') # app.config_from_object()方法从一个配置对象中加载配置 # # 配置对象可以是一个模块或者任何含有配置属性的对象。 # # 注意,任何先前设置的配置在调用config_from_object后都会被重新设置。如果你想添加额外的配置,你需要在调用这个方法之后。 app.config_from_object('django.conf.settings') app.autodiscover_tasks(lambda : settings.INSTALLED_APPS) #自动发现各个app里面创建的celery任务,可以创建多个任务
在home应用文件夹下:
from demo.celery import app @app.task def hello_world(): print("hello world")
#coding:utf-8 from django.shortcuts import render from django.http import HttpResponse from .tasks import hello_world def index(request): hello_world.delay() return HttpResponse(u"666") # Create your views here.
settings文件里修该以下内容
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'home', #添加应用的名称 ]
运行命令redis-server 看到如下图就表示成功
进入demo工程下
启动Celery。
celery -A demo worker -l debug结果图
启动Django:
python manage.py runserver
打开浏览器,输入地地址 http://127.0.0.1:8000/index/ 看到如下界面表示配置成功。
运行http://127.0.0.1:8000/admin 会看到登录界面
参考资料:
https://www.cnblogs.com/keinlee/archive/2017/07/07/7131989.html
https://www.jianshu.com/p/f1f2cd1cd491
转载于:https://www.cnblogs.com/c-x-a/p/8456408.html