zoukankan      html  css  js  c++  java
  • 使用APScheduler启动Django服务时自动运行脚本(可设置定时运行)

      Django搭建的服务器一般都用作WEB网站进行访问,通常的形式是用户访问网站或点击按钮发送请求,Django检测到请求后进行相应的试图函数处理后返回页面给用户。

      但是,我们有时会需要有一些后台自动运行的任务,即使没有用户请求时也要自动运行,或者是定时运行或者是不断运行,怎么做呢?这里用到一个模块APScheduler这样的一个库,我们需要先安装一下。这里用的是2.1.2的版本,现在已经最新版升级到3.x.x,两种版本有较大不同。向学习3版本的,请看另一篇博客:Python APSchedule安装使用与源码分析

    pip install apscheduler==2.1.2  

      安装完成后,在Django工程目录下的urls.py文件中引入这个模块和写好的想要被自动执行的函数

    from apscheduler.scheduler import Scheduler  
      
    from app01.views import aaa#假设我要执行的函数时app01项目下的views.py中的aaa函数

    注:这个aaa方法可以定义在views.py文件中,也可以直接把方法体写在url.py中

      

      引入好之后的具体代码为: 
    sched = Scheduler()  #实例化,固定格式
     
    @sched.interval_schedule(seconds=60)  #装饰器,seconds=60意思为该函数为1分钟运行一次
      
    def mytask():  
        aaa()  
      
    sched.start()  #启动该脚本

    完成上面的这些步骤以后runserver就OK啦,是不是又get一个新技能~

     
     
     
     
                       
  • 相关阅读:
    vue.js环境的搭建
    图片上传简单demo及springboot上传图片
    mybatise 模糊查询
    thymeleaf th:onclick 传参
    thymeleaf的特殊属性赋值
    无限分类的设计及前后台代码
    mysql 多个属性排序查询
    java添加对象成功后想知道当前添加对象的id
    SpringBoot2.x集成MQTT实现消息推送
    linux下安装MQTT服务器
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/9064518.html
Copyright © 2011-2022 走看看