91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 利用schedule進行任務調度

發布時間:2020-09-24 10:26:46 來源:億速云 閱讀:220 作者:Leah 欄目:編程語言

Python 利用schedule進行任務調度?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

如果需要執行更復雜的任務調度,則可使用 Python 提供的 sched 模塊。該模塊提供了 sched.scheduler 類,該類代表一個任務調度器。

sched.scheduler(timefunc=time.monotonic, delayfunc=time.sleep) 構造器支持兩個參數:

timefunc:該參數指定生成時間戳的時間函數,默認使用 time.monotonic 來生成時間戳。

delayfunc:該參數指定阻塞程序的函數,默認使用 time.sleep 函數來阻塞程序。

sched.scheduler 調度器支持如下常用屬性和方法:

scheduler.enterabs(time, priority, action, argument=(), kwargs={}):指定在 time 時間點執行 action 函數,argument 和 kwargs 都用于向 action 函數傳入參數,其中 argument 使用位置參數的形式傳入參數,kwargs 使用關鍵字參數的形式傳入參數。該方法返回一個 event,它可作為 cancel() 方法的參數用于取消該調度。priority 參數指定該任務的優先級,當在同一個時間點有多個任務需要執行時,優先級高(值越小代表優先級越高)的任務會優先執行。

scheduler.enter(delay, priority, action, argument=(),kwargs={}):該方法與上一個方法基本相同,只是 delay 參數用于指定多少秒之后執行 action 任務。

scheduler.cancel(event):取消任務。如果傳入的 event 參數不是當前調度隊列中的 event,程序將會引發 ValueError 異常。

scheduler.empty():判斷當前該調度器的調度隊列是否為空。

scheduler.run(blocking=True):運行所有需要調度的任務。如果調用該方法的 blocking 參數為 True,該方法將會阻塞線程,直到所有被調度的任務都執行完成。

scheduler.queue:該只讀屬性返回該調度器的調度隊列。

下面程序示范了使用 sched.scheduler 來執行任務調度:

import sched, time
import threading
# 定義線程調度器
s = sched.scheduler()
# 定義被調度的函數
def print_time(name='default'):
    print("%s 的時間: %s" % (name, time.ctime()))
print('主線程:', time.ctime())
# 指定10秒之后執行print_time函數
s.enter(10, 1, print_time)
# 指定5秒之后執行print_time函數,優先級為2
s.enter(5, 2, print_time, argument=('位置參數',))
# 指定5秒之后執行print_time函數,優先級為1
s.enter(5, 1, print_time, kwargs={'name': '關鍵字參數'})
# 執行調度的任務
s.run()
print('主線程:', time.ctime())

上面程序中,第 12 行代碼指定 10s 后執行 print_time() 函數,本次調度沒有為該函數傳入參數;第 14 行代碼指定 5s 后調度 print_time() 函數,本次調度使用位置參數的形式為該函數傳入參數;第 16 行代碼指定 5s 后調度 print_time() 函數,本次調度使用關鍵字參數的形式為該函數傳入參數。

上面程序運行后,將會看到程序在 5s 后執行兩次 print_time() 函數,其中傳入關鍵字參數的函數先執行(它的優先級更高),10s 后執行一次 print_time() 函數。運行上面程序,將看到如下輸出結果:

主線程: Tue Mar  5 16:30:51 2019
關鍵字參數 的時間: Tue Mar  5 16:30:56 2019
位置參數 的時間: Tue Mar  5 16:30:56 2019
default 的時間: Tue Mar  5 16:31:01 2019
主線程: Tue Mar  5 16:31:01 2019

關于Python 利用schedule進行任務調度問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

夹江县| 垫江县| 西贡区| 安岳县| 股票| 祥云县| 舟曲县| 丁青县| 惠水县| 霍山县| 河东区| 苍梧县| 辛集市| 长沙市| 元朗区| 崇义县| 龙陵县| 尼玛县| 肃南| 宁乡县| 松潘县| 东辽县| 普安县| 达日县| 慈溪市| 霍城县| 吉林省| 四会市| 电白县| 冕宁县| 阆中市| 岑溪市| 桑植县| 古蔺县| 西平县| 潮安县| 留坝县| 台中市| 苍梧县| 阳江市| 枣庄市|