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