【Django】使用django-apscheduler在Django中启动定时任务简单使用

  1. 安装django-apscheduler
 pip install django-apscheduler
  1. 注册django-apscheduler
    在setting.py文件中注册django-apscheduler为APP
INSTALLED_APPS = [
 ......
 'django_apscheduler',       # 定时任务
 ]
  1. 数据库迁移
python manage.py migrate

迁移完成之后会生成两张表“django_apscheduler_djangojob和django_apscheduler_djangojobexecution”
4. 新建一个py文件,代码如下

from apscheduler.schedulers.background import BackgroundScheduler
from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job

# 1.实例化调度器
scheduler = BackgroundScheduler()

# 2.调度器使用DjangoJobStore()
scheduler.add_jobstore(DjangoJobStore(), "default")

 try:
 	# 3.设置定时任务,选择方式为interval,时间间隔为10s
 	# 另一种方式为每天固定时间执行任务,对应代码为:
 	# @register_job(scheduler, 'cron', hour='9', minute='30', second='10',id='task_time')

 	@register_job(scheduler, "interval", seconds=10, replace_existing=True)
     def my_job():
         # 这里写你要执行的任务
         pass

     # 4.注册定时任务
     # register_events(scheduler)  # 新版本已经不需要这一步了

     # 5.开启定时任务
     scheduler.start()

 except Exception as e:
     print(e)
     # 有错误就停止定时器
     scheduler.shutdown()
  1. 将这个py文件导入到主应用的urls.py中
from .core import scheduler
  1. 启动项目
python manage runserver
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值