其他分享
首页 > 其他分享> > django集成Apscheduler

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

标签:集成,30,apscheduler,register,django,Apscheduler,scheduler,py
来源: https://www.cnblogs.com/wangbin2188/p/15665468.html