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做进一步的开发。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM