在使用apscheduler 的BackgroundScheduler調度時結果出不來?
大家好,我是皮皮。
一、前言
前幾天在Python白銀交流群【魚開溜??】問了一個Python定時任務的問題,提問截圖如下:
下面是他的代碼:
二、實現(xiàn)過程
這里需要先安裝apscheduler庫,不然會報錯。
這里【dcpeng】給了一個解決辦法,把那個interval參數(shù)去除就好了。
不過沒那個參數(shù),實現(xiàn)不了定時功能。
不過也不要慌,這里有相關參數(shù)說明。
所以需要定時任務的話,定時任務器的參數(shù)可以參考下面進行設置。
未指定日期,則會立即執(zhí)行
如此一來,問題就得到解決了。
粉絲想要實現(xiàn)的功能是,類似于linux的crontab,想要在特定時間范圍或者時間間隔下跑某些函數(shù),查到功能比較強大的apscheduler,有兩種方式實現(xiàn)我需要的功能:①是有進程阻塞的BlockingSchedul ②是無進程阻塞的BackgroundScheduler。差別在于時間差,粉絲想的是如果有多條進程需要同時跑,要么異步,要么用無進程阻塞的,故選了方式②,提供的代碼如下。
可以看到這里,針對參數(shù)做了修改,之前寫法是trigger=interval,這里把時間間隔放到前面,在這個時間范圍內,1秒執(zhí)行一次。并在主程序加上死循環(huán),一直處于掛起狀態(tài)循環(huán),類似于只用Scheduler的,可以得到如下結果:
三、總結
大家好,我是皮皮。這篇文章主要盤點了一個Python定時任務的問題,文中針對該問題,給出了具體的解析和代碼實現(xiàn),幫助粉絲順利解決了問題。