码迷,mamicode.com
首页 > 其他好文 > 详细

django中运行定时任务脚本

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

标签:inter   cep   启动   tty   import   add   使用   tin   icc   

需要使用到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中运行定时任务脚本

标签:inter   cep   启动   tty   import   add   使用   tin   icc   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!