python用Django+Celery+Redis 监视程序(一)
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 监视程序(一)的更多相关文章
- django+celery+redis环境搭建
初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar. ...
- django celery redis 定时任务
0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择. cele ...
- django+celery+redis实现运行定时任务
0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择. cele ...
- Django + celery +redis使用
1.安装包 pip install celery pip install django-celery pip install pymysql 2.创建一个django项目 - proj/ - proj ...
- 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 大概的报错如下截图: 是在开 ...
- 06: django+celery+redis
目录: 1.1 Celery介绍 1.2 celery 组件 1.3 安装相关包 与 管理命令 1.4 celery与Django执行异步任务 1.5 在django中使用计划任务功能 1.1 Cel ...
- 项目部署Django+celery+redis
celery介绍 1.celery应用举例 1.Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以 ...
- django+celery+redis应用
一.celery介绍 1.应用场景 a. Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到异步任务,就可以考虑使用ce ...
- 使用django + celery + redis 异步发送邮件
参考:http://blog.csdn.net/Ricky110/article/details/77205291 环境: centos7 + python3.6.1 + django2.0.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 ...
- 如何检测浏览器url变化
用户通过“点击触发”,“操作历史”,“直接访问URL”的方式修改当前URL.这三种触发方式会使浏览器做出不同的行为 html5提供了两种方式在页面中操作历史 history.pushState(sta ...
- block的修饰词为什么选用copy
想必很多开发人员知道一般用copy修饰block,接下来就讲解为什么需要用copy,甚至会讲到其实用strong修饰block也是可以的 在 Objective-C 语言中,一共有 3 种类型的 bl ...
- 从零开始学习前端开发 — 7、CSS宽高自适应
一.宽度自适应 语法:width:100%; 注: a)块状元素的默认宽度为100% b) 当给元素设置宽度为100%时,继承父元素的宽度 c) 通常使用宽度自适应实现通栏效果 二.高度自适应 语法: ...
- Arrays类详解
数组是数据结构中最简单的一种类型.在平常的使用上也比较多见.今天就来总结一下数组在使用过程中的一些心得 1.java中包装数组的一些基本用法的抽象类 java.util.Arrays.这个类中包含操 ...
- java中static关键字的继承问题
结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 原因: 1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用 ...
- 前端自动化构建工具Gulp简单入门
昨天听同事分享了Gulp的一些简单使用,决定自己也试一试. 一.安装 gulp是基于nodejs的,所以要先下载安装node(直接搜node,在官网下载就好了) 1.全局安装gulp npm inst ...
- destoon 开启邮箱
- Linux pmstat命令
mpstat是linux一款实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU ...
- pyftpdlib 搭建FTP服务器
学会socket之后,就可以使用应用层的协议了,比如FTP,HTTP等,不过一般这些应用层都会有现成的模块,学不学socket都无所谓,这是python的方便之处.这里搭建FTP服务器使用的就是pyf ...