最近做一个小项目,用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