• 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

     
  • 相关阅读:
    What Is Pros and Cons
    计算机编程简史图
    封装事件订阅发布 on emit off
    父子通信VUE
    如何让textarea不可拖拽
    [导入]Web Client Software Factory系列(1):初识与预备知识
    [导入]Enterprise Library v3中的新成员:Application Block Software Factory
    [导入]Web Client Software Factory 开发路线图
    [导入]微软Web Client Software Factory RC版发布
    [导入]Web Client Software Factory系列(3):ViewPresenter模式
  • 原文地址:https://www.cnblogs.com/c-x-a/p/8456408.html
Copyright © 2020-2023  润新知