首页 > 其他 > 详细

django中运行定时任务脚本

时间:2019-05-11 12:46:16      阅读:133      评论:0      收藏:0      [点我收藏+]

需要使用到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时直接后面跟上端口号.

django中运行定时任务脚本

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!