Django 定時任務APScheduler

2021-10-24 01:25:51 字數 1667 閱讀 3820

apscheduler官方user guide文件

一開始demo是這麼寫的:

from apscheduler.scheduler import scheduler

sched = scheduler(

)@sched.interval_schedule(seconds=5)

defmytask()

: d1 = timezone.now(

)print

("time"

, d1.strftime(

"%y-%m-%d %h:%m:%s"))

sched.start(

)

後來發現他們的apscheduler版本都是2.1.2,而我的已經是3.6.3了,新的版本已經沒有這個包了。接著我又搜到了乙個網友寫的3.0.5的demopython定時任務 apscheduler詳細使用教程,又把demo改了一下

from apscheduler.schedulers.blocking import blockingscheduler

defmytask()

: d1 = timezone.now(

)print

("time"

, d1.strftime(

"%y-%m-%d %h:%m:%s"))

scheduler = blockingscheduler(

)scheduler.add_job(func=mytask, trigger=

'cron'

, second=

'*/5'

)scheduler.start(

)

新的demo如下:

from apscheduler.schedulers.blocking import backgroundscheduler

defmytask()

: d1 = timezone.now(

)print

("time"

, d1.strftime(

"%y-%m-%d %h:%m:%s"))

scheduler = backgroundscheduler(

)scheduler.add_job(func=mytask, trigger=

'cron'

, second=

'*/5'

)scheduler.start(

)

總結一些幾個特性吧:

一般起乙個scheduler就可以了,通過add_job新增刪除任務

每個任務排程都是新起乙個執行緒進行的

apscheduler中兩種排程器的區別及使用過程中要注意的問題

關於 django 使用 apscheduler 一次任務被重複執行問題

看到還有使用django-apscheduler外掛程式的,問了一下下面這位博主兩者的區別得到的答案:

django-apscheduler只是針對django框架對apscheduler做的乙個簡化的版本,沒有apscheduler的功能豐富,兩者都也可以用,django-apscheduler更加輕量級一些,適合簡單的任務

django-apscheduler和apscheduler的安裝和示例

django定時任務

網上很多資料都是比較舊的,不同的版本使用上存在差異,最好的方式是,根據使用的版本檢視官方資料 任務執行結果 安裝 pip install django crontab pip install apscheduler pip install django apscheduler pip install...

django 實現定時任務

的首頁頻繁被訪問,為了提公升訪問速度,除了我們之前已經學過的使用快取技術外,還可以使用頁面靜態化技術。頁面靜態化即將動態渲染生成的頁面結果儲存成html檔案,放到靜態檔案伺服器中。使用者訪問的時候訪問的直接是處理好之後的html靜態檔案。對於頁面中屬於每個使用者展示不同資料內容的部分,可以在使用者請...

django實現定時任務

目的 解決執行django專案的時候一起執行自己寫的py檔案 一 類別 linux celery和django crontab外掛程式 windows apscheduler django apscheduler,3.註冊後資料遷移 python manage.py migrateimport ti...