django使用 django-apscheduler 实现定时任务

下载:

    pip install apscheduler

    pip install django-apscheduler

django-apscheduler 加到项目中settings的INSTALLED_APPS中

   INSTALLED_APPS = [

   ....

'django_apscheduler',

]

然后迁移文件后

./manage.py migrate

生成两个表:django_apscheduler_djangojob 和 django_apscheduler_djangojobexecution

这两个表用来管理你所需要的定时任务,然后就开始在任一view下写你需要实现的任务:

启动异步定时任务
  import time
  from apscheduler.schedulers.background import BackgroundScheduler
  from django_apscheduler.jobstores import DjangoJobStore, 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')
        def test_job():
           t_now = time.localtime()
           print(t_now)

      # 监控任务
      register_events(scheduler)
      # 调度器开始
      scheduler.start()
except Exception as e:
    print(e)
    # 报错则调度器停止执行
    scheduler.shutdown()

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值