django中运行定时任务脚本

需要使用到django_apscheduler模块,因此先安装:

pip install django-apscheduler 

然后在工程的settings.py文件中的INSTALLED_APPS模块加入:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_apscheduler',
    ......
]

然后在app的views.py文件中实现调用的函数:

from apscheduler.schedulers.background import BackgroundScheduler
from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job

import logging

logging.basicConfig()

def task_test():
    print "***************************"

def RunDaemonService():
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    try:
        # 监控任务
        scheduler.add_job(task_test, 'interval', seconds=5, id='test_job')

        # 调度器开始
        scheduler.start()
    except Exception as e:
        print e
        # 报错则调度器停止执行
        scheduler.shutdown()

然后还需要在工程的urls.py文件中引入该app:

from testapp.views import RunDaemonService

最后运行整个项目:

python manage.py runserver

这样在启动服务时这个定时任务就会运行,可以为我们的工程提供后台运行服务支撑.

ps:
如果想让django不以8000为http端口,可以在runserver时直接后面跟上端口号.

原文地址:https://www.cnblogs.com/xl2432/p/10848219.html

时间: 2024-10-08 03:22:11

django中运行定时任务脚本的相关文章

crontab中运行newLISP脚本的环境变量设置

今天遇到一个问题,在终端里运行newLISP脚本,一切正常,移动到crontab中就不行.即便crontab -e命令运行在同一个用户下,还是有问题. 由于newLISP脚本要用到hive和hadoop,估计是环境变量的问题.所以先用newLISP shell运行(env)命令,将当前环境变量记录到文件evn.lsp中. 然后在newLISP脚本中加载之. 下面是env.lsp文件部分内容: (set 'local-envs '(("LC_PAPER" "en_US.UTF-

转载:monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)

转载自:lynnLi 的monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来解释执行. Jython是Python的Java实现,它将Python代码解释成Java虚拟机上的字节码并执行,这种做法允许在Python中继承一个Java类型,可以调用任意的 Java API . 本文档主要是可以实现在eclipse环境中运行Monkeyrunner脚本.所需要的环境和工具如下:

eclipse中运行monkeyrunner脚本之环境搭建

本文档主要是可以实现在eclipse环境中运行Monkeyrunner脚本.所需要的环境和工具如下:win7 os.jdk.eclipse.sdk.python.jython.模拟器或真机设备. 在前两章中,我们分别进行了eclipse中的Android开发环境的配置,Monkeyrunner的环境搭建.上述工具基本都已经具备,其中,jython在sdk\tools\lib中.因此,本文档中,我们只需要将Monkeyrunner和python集成到eclipse中,这样,以后我们就可以在ecli

django中设置定时任务

django中设置定时任务 在django中设置定时任务我们可以借用django-crontab这个第三包来实现 django-crontab只能在linux系统下使用 安装: pip install django-crontab 将django_crontab注册到install app中 编写你的定时任务函数(我的是编写一个发送邮件的任务函数) from django.core.mail import send_mail from django.conf import settings fr

openstack中运行定时任务的两种方法及源代码分析

启动一个进程,如要想要这个进程的某个方法定时得进行执行的话,在openstack有两种方式: 一种是通过继承 periodic_task.PeriodicTasks,另一种是使用loopingcall.py,针对两种方式分别说一下实现原理. (1) 继承periodic_task.PeriodicTasks 这种方式比较复杂,用到了python中的一些比较高级的特性,装饰器和元类:首先看一下periodic_task.py,在nova/openstack/common中,其他组件也有. 看一下P

Django中通过定时任务触发页面静态化的方式

安装 pip install django-crontab 添加应用 INSTALLED_APPS = [ ... 'django_crontab', # 定时任务 ... ] 设置任务的定时时间 在配置文件中设置定时执行的时间 每个定时任务分为三部分定义: 任务时间 基本格式 : * * * * * 分 时 日 月 周 命令 M: 分钟(0-59).每分钟用*或者 */1表示 H:小时(0-23).(0表示0点) D:天(1-31). m: 月(1-12). d: 一星期内的天(0~6,0为星

ubuntu中运行python脚本

1. 运行方式一 新建test.py文件: touch test.py 然后vim test.py打开并编辑: print 'Hello World' 打开终端,输入命令: python test.py 输出: Hello World 2. 运行方式二 这部分内容只对Linux/Unix用户适用,不过Windows用户可能也对程序的第一行比较好奇.首先我们需要通过chmod命令,给程序可执行的许可,然后运行程序 chmod a+x helloworld.py ./helloworld.py 输出

bat文件中运行python脚本方法

在脚本中使用start命令: 1 @echo off 2 3 start python xxx.py 注: start命令:启动单独的“命令提示符”窗口来运行指定程序或命令.如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口. 原文地址:https://www.cnblogs.com/xbook-ben/p/11713491.html

Microsoft OneScript 团队发布的最新一版在 SQL Server Management Studio 中运行的脚本,可以帮助我们获取更详细的版本信息。

该脚本有以下几点: 1. SQL Server 的主要版本.服务级别和版本类别 2. 已安装SP包.累计更新CU,历史更新的QFE\ GDR 3. 推荐当前SP包可以安装最新的CU,并给到相关资源地地址(这个很有帮助) 如Cumulative Update CU6 of SQL Server 2012 SP3. 4. 推荐可升级到其他产品,如: SQL Server 2014 Enterprise SQL Server 2014 Business Intelligence SQL Server