最近做一個小項目,用Django搭建的服務器,着實折騰了我一周的時間,這里一點一點記下來,以免忘記。
在這個項目中我需要用到一個每隔60s就去執行的一個函數的功能,而且需要在服務器啟動時就要啟動這個定時任務.
折騰了一下無終於找到了一個比較好用的方法,在這分享一下
首先,定時任務用到了APScheduler這樣的一個庫,我們在Linux下需要安裝一下
這里使用
- pip install apscheduler==2.1.2
進行安裝,
安裝完成后,找到你的Django工程目錄下的urls.py文件,在最下面添加以下代碼
- from apscheduler.scheduler import Scheduler
- from push.views import checkUserFiles
#這里的這個checkUserFiles方法是我在views.py文件中定義的一個方法,也正是我需要執行的定時任務,這個方法可以定義在views.py文件中,也可以直接把方法體寫在下面的mytask方法中
- sched = Scheduler()
- @sched.interval_schedule(seconds=60)
- def mytask():
- chekUserFiles()
- sched.start
完成上面的這些步驟以后,再執行一次
- python manager.py runserver 0.0.0.0:8000