Django如何在启动服务时自动运行脚本(可设置定时运行)

Posted ゛竹先森゜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django如何在启动服务时自动运行脚本(可设置定时运行)相关的知识,希望对你有一定的参考价值。

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

  但是,我们有时会需要有一些后台自动运行的任务,即使没有用户请求时也要自动运行,或者是定时运行或者是不断运行,怎么做呢?这里用到一个模块APScheduler这样的一个库,我们需要先安装一下。

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一个新技能~

 
 
 
 
 
              

以上是关于Django如何在启动服务时自动运行脚本(可设置定时运行)的主要内容,如果未能解决你的问题,请参考以下文章

如何在启动时在后台运行django服务器?

如何在启动时自动运行脚本?

django shell启动时如何运行任意代码?

sh 使用用户数据(自动运行脚本)在启动时设置Java 8(最新)EC2服务器

如何在django渠道服务器启动时一次运行代码?

启动脚本未在启用自动缩放的 GCP Compute Engine Windows 服务器上运行