python定時任務sched庫用法簡單實例
前言
sched是Python的內(nèi)置模塊,用于事件調(diào)度,可在安全的在多線程環(huán)境中輕松實現(xiàn)定時任務。
sched是一種調(diào)度(延時處理機制)。
sched是python內(nèi)置庫,不需要安裝。
示例代碼:
import sched import time from datetime import datetime # 初始化sched模塊的scheduler類 # 第一個參數(shù)是一個可以返回時間戳的函數(shù),第二個參數(shù)可以在定時未到達之前阻塞。 schedule = sched.scheduler(time.time, time.sleep) def task(inc): now = datetime.now() ts = now.strftime("%Y-%m-%d %H:%M:%S") print(ts) schedule.enter(inc, 0, task, (inc,)) def func(inc=3): # enter四個參數(shù)分別為: # 間隔事件、優(yōu)先級(用于同時間到達的兩個事件同時執(zhí)行時定序)、被調(diào)用觸發(fā)的函數(shù)、給該觸發(fā)函數(shù)的參數(shù)(tuple形式) schedule.enter(0, 0, task, (inc,)) schedule.run() func()
運行結果:
補充:解析
主要使用調(diào)度器對象 sched.scheduler
調(diào)度器對象初始化方法 def __init__(self, timefunc=_time, delayfunc=time.sleep)
- timefunc:經(jīng)過時間調(diào)用的方法,默認為 time.monotonic(),返回單調(diào)時鐘的值,單位為小數(shù)秒
- delayfunc:延遲時間調(diào)用的方法,默認為 time.sleep(secs),線程暫停執(zhí)行secs秒
調(diào)度器對象方法和屬性有:
方法或屬性 | 功能 |
---|---|
scheduler.enterabs(time, priority, action, argument=(), kwargs={}) | 安排一個新事件 |
scheduler.enter(delay, priority, action, argument=(), kwargs={}) | 安排延后 delay 時間單位的事件 |
scheduler.cancel(event) | 從隊列中刪除事件 |
scheduler.empty() | 判斷事件隊列是否為空 |
scheduler.run(blocking=True) | 運行所有預定事件 |
scheduler.queue | 按運行順序返回事件列表 |
總結
到此這篇關于python定時任務sched庫用法的文章就介紹到這了,更多相關python定時任務sched庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python 獲取網(wǎng)頁編碼方式實現(xiàn)代碼
這篇文章主要介紹了python 獲取網(wǎng)頁編碼方式實現(xiàn)代碼的相關資料,需要的朋友可以參考下2017-03-03手把手教你如何用Pycharm2020.1.1配置遠程連接的詳細步驟
這篇文章主要介紹了如何用Pycharm2020.1.1配置遠程連接,分步驟給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-08-08python-for x in range的用法(注意要點、細節(jié))
這篇文章主要介紹了python-for x in range的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05DataFrame 將某列數(shù)據(jù)轉為數(shù)組的方法
下面小編就為大家分享一篇DataFrame 將某列數(shù)據(jù)轉為數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04