久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

python 實現(xiàn)定時任務(wù)的四種方式

瀏覽:118日期:2022-06-23 15:20:52
用Python實現(xiàn)定時任務(wù)

有些時候我們需要每隔一段時間就要執(zhí)行一段程序,或者是往復(fù)循環(huán)執(zhí)行某一個任務(wù)。比如博主在上篇文章講的爬蟲一樣,在實現(xiàn)對某個目標(biāo)進(jìn)行在線爬取的話,也需要用到實時任務(wù)。

用Python實現(xiàn)定時任務(wù)的四種方法 while True: + sleep() threading.Timer定時器 調(diào)度模塊schedule 任務(wù)框架APScheduler

定時要完成的Task(簡單定義下)

import datetimedef Task(): now = datetime.datetime.now() ts = now.strftime(’%Y-%m-%d %H:%M:%S’) print(ts)利用while True: + sleep()實現(xiàn)定時任務(wù)

第一個想到的肯定就行while:true + sleep組合了吧,簡單粗暴,實現(xiàn)如下

def loopMonitor(): while True: Task() # 3s檢查一次 time.sleep(3)

這種方法的缺點是只能實現(xiàn)同步任務(wù),無法執(zhí)行異步任務(wù)

利用threading.Timer定時器實現(xiàn)定時任務(wù)

from threading import Timerdef timerMonitor(): Task() t = Timer(3, timerMonitor) t.start()

出現(xiàn)的問題是,運行次數(shù)過多時,會出現(xiàn)報錯:Pyinstaller maximum recursion depth exceeded Error Resolution達(dá)到最大遞歸深度,然后想到的是修改最大遞歸深度

sys.setrecursionlimit(100000000)

但是運行到達(dá)到最大CPU時,python會直接銷毀程序,涼涼0.0

利用調(diào)度模塊schedule實現(xiàn)定時任務(wù)

schedule是一個第三方輕量級的任務(wù)調(diào)度模塊,可以按照秒,分,小時,日期或者自定義事件執(zhí)行時間如果想執(zhí)行多個任務(wù),也可以添加多個task代碼見下

import scheduledef scheduleMonitor(): # 清空任務(wù) schedule.clear() # 創(chuàng)建一個按3秒間隔執(zhí)行任務(wù) schedule.every(3).seconds.do(Task) # 創(chuàng)建一個按2秒間隔執(zhí)行任務(wù) schedule.every(2).seconds.do(Task) while True: schedule.run_pending()

但是他依然需要和while Ture配合使用,而且占用的CPU也比其他幾種多的多。

利用任務(wù)框架APScheduler實現(xiàn)定時任務(wù)

APScheduler是Python的一個定時任務(wù)框架,用于執(zhí)行周期或者定時任務(wù),該框架不僅可以添加、刪除定時任務(wù),還可以將任務(wù)存儲到數(shù)據(jù)庫中,實現(xiàn)任務(wù)的持久化,使用起來非常方便。

from apscheduler.schedulers.blocking import BlockingSchedulerdef APschedulerMonitor(): # 創(chuàng)建調(diào)度器:BlockingScheduler scheduler = BlockingScheduler() scheduler.add_job(Task, ’interval’, seconds=3, id=’test_job1’) # 添加任務(wù),時間間隔5S scheduler.add_job(Task, ’interval’, seconds=5, id=’test_job2’) scheduler.start()總結(jié)

1:循環(huán)+sleep方式可以用來做簡單測試。2:timer可以實現(xiàn)異步定時任務(wù)。3:schedule可以定點定時執(zhí)行,但是仍然需要while Ture配合,而且占用內(nèi)存大。4:APScheduler框架更加強大,可以直接在里面添加定點與定時任務(wù),無可挑剔。所以,用誰不用我說了吧QAQ

以上就是python 實現(xiàn)定時任務(wù)的四種方式的詳細(xì)內(nèi)容,更多關(guān)于python 實現(xiàn)定時任務(wù)的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 中文字幕爱爱视频 | 成人欧美一区二区三区在线播放 | 色必久久 | 污视频免费网站观看 | av一区二区在线观看 | 九九九在线 | 超级黄色一级片 | 国产成人精品免费视频大全 | 亚洲精品久久久久久久久久久 | 午夜精品久久久久久 | av色伊人久久综合一区二区 | 久久久欧美 | 97人人做人人人难人人做 | 国产精品无码久久久久 | 日本在线观看 | 国产成人一区二区三区影院在线 | 国产成人精品一区二 | 中文字幕在线免费 | 国产人体视频 | 日本 欧美 国产 | 久久99这里只有精品 | 国产高清小视频 | 美女视频黄色片 | 中文字幕高清视频 | 欧美精品第一页 | 黄色毛片在线播放 | 精品美女久久久 | 欧美一区二区三区xxxx监狱 | av观看免费 | 中文字幕亚洲一区二区va在线 | 欧美性吧 | 日韩中文字幕免费在线播放 | 在线亚洲精品 | 日韩一区二区三区在线视频 | www免费网站在线观看 | youjizz国产 | 欧美一级片在线观看 | 国产精品久久久久久久久免费丝袜 | 亚洲高清精品视频 | 一区二区欧美在线 | 亚洲一区av在线 |