python用Django+Celery+Redis 监视程序(一)
2023-09-14 09:06:38 时间
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
结果图
![](https://images2018.cnblogs.com/blog/736399/201802/736399-20180221113336850-665183685.png)
启动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 GIL锁的底层原理探究
- python设置时间过期改变状态_Python Redis设置过期时间「建议收藏」
- 上手python之字面量和注释
- Django+Celery学习笔记3——django+celery+redis实现异步任务与定时任务
- Redis分布式锁python-redis-lock使用方法
- Python用sched执行周期性任务详解编程语言
- python之多并发socket详解编程语言
- Python玩转Redis:提升缓存效率(python使用redis)
- 解决Redis宕机的有效办法(怎么解决redis挂了)
- 腾讯云为用户带来更简单的Redis存储服务(腾讯redis存储版)
- 时间花少时间,实现Redis缓存优化(缓存redis 单位)
- 等保级别的Redis数据库测评实践(等保redis数据库测评)
- 如何实现轻量级Redis功能(如何实现简化版redis)
- 哨兵模式的Redis运维实践(哨兵模式redis运维)
- Redis连不上哨兵为何招致故障(redis连不上哨兵)
- 远程调用Redis接口把数据安全开启(redis远程接口调用)
- Redis集群与JWT实现数据安全高效访问(redis集群jwt)
- 利用Redis让数据马上失效(redis 设置马上失效)
- 搭建Redis集群更好保护JWT安全(redis集群jwt)
- Redis突破极限的多请求承受能力(redis能抗多少请求)
- 配置Redis主从机器,加快中间数据传输(redis配置主从机器)
- Redis实现老化时间控制的实践经验(redis老化时间)
- python基础教程之popen函数操作其它程序的输入和输出示例
- 跟老齐学Python之有容乃大的list(1)