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. NullPointerException org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)

    http://pwu-developer.blogspot.com/2010/01/nullpointerexception.html Maven is great build tool making ...

  2. 如何检测浏览器url变化

    用户通过“点击触发”,“操作历史”,“直接访问URL”的方式修改当前URL.这三种触发方式会使浏览器做出不同的行为 html5提供了两种方式在页面中操作历史 history.pushState(sta ...

  3. block的修饰词为什么选用copy

    想必很多开发人员知道一般用copy修饰block,接下来就讲解为什么需要用copy,甚至会讲到其实用strong修饰block也是可以的 在 Objective-C 语言中,一共有 3 种类型的 bl ...

  4. 从零开始学习前端开发 — 7、CSS宽高自适应

    一.宽度自适应 语法:width:100%; 注: a)块状元素的默认宽度为100% b) 当给元素设置宽度为100%时,继承父元素的宽度 c) 通常使用宽度自适应实现通栏效果 二.高度自适应 语法: ...

  5. Arrays类详解

    数组是数据结构中最简单的一种类型.在平常的使用上也比较多见.今天就来总结一下数组在使用过程中的一些心得 1.java中包装数组的一些基本用法的抽象类  java.util.Arrays.这个类中包含操 ...

  6. java中static关键字的继承问题

    结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 原因: 1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用 ...

  7. 前端自动化构建工具Gulp简单入门

    昨天听同事分享了Gulp的一些简单使用,决定自己也试一试. 一.安装 gulp是基于nodejs的,所以要先下载安装node(直接搜node,在官网下载就好了) 1.全局安装gulp npm inst ...

  8. destoon 开启邮箱

  9. Linux pmstat命令

      mpstat是linux一款实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU ...

  10. pyftpdlib 搭建FTP服务器

    学会socket之后,就可以使用应用层的协议了,比如FTP,HTTP等,不过一般这些应用层都会有现成的模块,学不学socket都无所谓,这是python的方便之处.这里搭建FTP服务器使用的就是pyf ...