zoukankan      html  css  js  c++  java
  • django集成Apscheduler

    在django中有时候我们会有一些简单的调度需求,这是可以考虑集成Apscheduler

    安装

    pip3 install apscheduler
    pip3 install django-apscheduler

    在django的settings.py文件的INSTALLED_APPS加入'django_apscheduler'

    执行python manage.py migrate 会在数据库给Apscheduler新生成两张表,任务表和任务执行表

    在django任意app的views.py加入以下代码

    #views.py
    from apscheduler.schedulers.background import BackgroundScheduler
    from django_apscheduler.jobstores import DjangoJobStore, register_job, register_events
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), 'default')
    
    
    @register_job(scheduler, 'cron', id='test5', hour=17, minute=30)
    def test_func():
        print("hello,django1")
    
    
    @register_job(scheduler, 'interval', id='test6', seconds=30)
    def test_func2():
        print("hello,django2")
    
    
    register_events(scheduler)
    scheduler.start()

    django项目一启动,就会生成两个调度任务,一个每天17:30定时执行,另一个每隔30秒执行

    如果想要更细粒度的开启、停止任务,就不能在用django-apscheduler,需要对apscheduler做进一步的开发。

  • 相关阅读:
    HDU5000 (DP + 规律)
    HDU5127 神坑题---vector 、 list 、 deque 的用法区别
    HDU5128 细心、细心、细心
    dij单源最短路纯模板
    POJ 1236 SCC+缩点
    SCC(强连通分量)
    用树状数组求数组内的逆序对数
    HDU 1811 并查集
    大数模板,只要不是手敲,非常好用
    市赛
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/15665468.html
Copyright © 2011-2022 走看看