C盘创建一个目录就叫DjangoDemo,然后开始在该目录下操作。

1.新建Django工程与应用

运行pip install django 安装django

这里我们建一个名为demo的项目和home应用。

django-admin startproject demo 创建demo项目

然后进入demo文件夹运行命令,manage.py startapp home 创建home应用。

2.编辑settings.py文件

在demo文件夹下的settings.py文件的最后添加如下代码:

###配置Broker
BROKER_URL = 'redis://127.0.0.1:6379/0'
BROKER_TRANSPORT = 'redis'

3.新建celery.py文件

在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任务,可以创建多个任务

  

4.新建tasks.py文件

home应用文件夹下:

from demo.celery import app

@app.task
def hello_world():
print("hello world")

 

5.编辑viewss.py文件

 

#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.

6.注册home应用

settings文件里修该以下内容

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'home', #添加应用的名称
]

  

7.配置urls.py文件设置路由

from django.contrib import admin
from django.conf.urls import url
from django.contrib import admin
from home import views
urlpatterns = [
url('admin/', admin.site.urls),
url(r'^index/$',views.index)
]

  

8.启动Redis

运行命令redis-server 看到如下图就表示成功

9.启动Celery和Django

进入demo工程下

启动Celery。

celery -A demo worker -l debug

结果图
 

启动Django:

python manage.py runserver

10.打开网页

打开浏览器,输入地地址 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

 

python用Django+Celery+Redis 监视程序(一)的更多相关文章

  1. django+celery+redis环境搭建

    初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar. ...

  2. django celery redis 定时任务

    0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择.   cele ...

  3. django+celery+redis实现运行定时任务

    0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择.   cele ...

  4. Django + celery +redis使用

    1.安装包 pip install celery pip install django-celery pip install pymysql 2.创建一个django项目 - proj/ - proj ...

  5. Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错

    在本文中例子中遇到问题的各种开发版本如下: Python3.6.8 Django==2.2 celery==4.4.0 kombu==4.6.7 redis==3.3.0 大概的报错如下截图: 是在开 ...

  6. 06: django+celery+redis

    目录: 1.1 Celery介绍 1.2 celery 组件 1.3 安装相关包 与 管理命令 1.4 celery与Django执行异步任务 1.5 在django中使用计划任务功能 1.1 Cel ...

  7. 项目部署Django+celery+redis

    celery介绍 1.celery应用举例 1.Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,   如果你的业务场景中需要用到异步任务,就可以 ...

  8. django+celery+redis应用

    一.celery介绍 1.应用场景 a. Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到异步任务,就可以考虑使用ce ...

  9. 使用django + celery + redis 异步发送邮件

    参考:http://blog.csdn.net/Ricky110/article/details/77205291 环境: centos7  +  python3.6.1 + django2.0.1  ...

随机推荐

  1. [国嵌攻略][065][DM9000驱动程序设计]

    移植代码:通过已有的可用的代码修改到新环境下运行. 代码编写: 初始化网卡 1.选中网卡 nLAN_CS BWSCON(0x48000000) DW4:01 16bit BANKCON4(0x4800 ...

  2. 关于atom

    以前老听别人说atom这款编辑器如何如何的好用,今天特地试了下,结果一不小心将顶部的工具栏给隐藏了,弄了半天都没弄出来.后来就在网上到处寻找帮助,试试这个试试那个,终于弄好了,其实是这样的. 首先在任 ...

  3. 将本地项目或代码上传到别人GitHub(码云)的远程分支上

    今天碰到了这样一个问题,折腾了半天,就是将自己本地代码上传到人家的远程分支上. 首先要做的就是先将人家的项目克隆到本地:git clone + 项目地址 然后进入项目目录:cd + 已克隆好的项目目录 ...

  4. css3渐变之径向渐变

    径向渐变由它的中心定义.可以指定渐变的中心.形状(原型或椭圆形).大小.默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthes ...

  5. RSA关于加密长度限制的解决办法

    RSA关于加密长度限制的解决办法   因为rsa采用分块进行加密的,所以有长度限制.如果加密信息较多,可分段加解密(不建议对大量信息rsa加密,效率低效): 正常加密情形如下:      public ...

  6. UE4 多线程(一)

    UE4中使用多线程的有两种方式,一种方式就是使用FRunnable和FRunnableThread,另一种方式是Task Graph System.Task Graph System有时会占用游戏线程 ...

  7. TPshop学习(8)微信支付

    http://blog.csdn.net/phper8/article/details/76383415 学习内容: https://www.kancloud.cn/tpshop/thinkphp5/ ...

  8. 数组的创建和各种API

    数组的创建方式: 1. 数组直接量 var arr = [] // 创建一个空数组 var arr = [1,2,3,4] // 创建同时初始化元素 2. 实例化对象 var arr=new Arra ...

  9. 在ASP.NET Core中通过EF Core实现一个简单的全局过滤查询

    前言 不知道大家是否和我有同样的问题: 一般在数据库的设计阶段,会制定一些默认的规则,其中有一条硬性规定就是一定不要对任何表中的数据执行delete硬删除操作,因为每条数据对我们来说都是有用的,并且是 ...

  10. 如何用vue实现树形菜单?

    在公司培训了2周,布置的作业是从树形,grid分页以及echarts中选一个.由于都不是很熟,就挑了第一个.本来想在网上找找参考,然后模仿着做一个,但是网上的代码多少参差不齐,写到一半没了,所以只要自 ...