django使用django-apscheduler 实现定时任务的例子
下载:
pipinstallapscheduler
pipinstalldjango-apscheduler
将django-apscheduler加到项目中settings的INSTALLED_APPS中
INSTALLED_APPS=[ .... 'django_apscheduler', ]
然后迁移文件后
./manage.pymigrate
生成两个表:django_apscheduler_djangojob和django_apscheduler_djangojobexecution
这两个表用来管理你所需要的定时任务,然后就开始在任一view下写你需要实现的任务:
启动异步定时任务
importtime
fromapscheduler.schedulers.backgroundimportBackgroundScheduler
fromdjango_apscheduler.jobstoresimportDjangoJobStore,register_events,register_job
try:
#实例化调度器
scheduler=BackgroundScheduler()
#调度器使用DjangoJobStore()
scheduler.add_jobstore(DjangoJobStore(),"default")
#'cron'方式循环,周一到周五,每天9:30:10执行,id为工作ID作为标记
#('scheduler',"interval",seconds=1)#用interval方式循环,每一秒执行一次
@register_job(scheduler,'cron',day_of_week='mon-fri',hour='9',minute='30',second='10',id='task_time')
deftest_job():
t_now=time.localtime()
print(t_now)
#监控任务
register_events(scheduler)
#调度器开始
scheduler.start()
exceptExceptionase:
print(e)
#报错则调度器停止执行
scheduler.shutdown()
以上这篇django使用django-apscheduler实现定时任务的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。