django中運行定時任務腳本
阿新 • • 發佈:2019-05-11
後臺 模塊 執行 dsc register pre stat pps 實現
需要使用到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中運行定時任務腳本