亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

晋中市| 七台河市| 噶尔县| 穆棱市| 柳河县| 浦城县| 齐河县| 永济市| 望奎县| 乌恰县| 甘洛县| 溧水县| 米泉市| 建瓯市| 隆化县| 普兰县| 博罗县| 卢湾区| 全南县| 特克斯县| 宜城市| 乌兰察布市| 杭锦旗| 南木林县| 花莲县| 会宁县| 屏南县| 隆尧县| 永安市| 济源市| 龙岩市| 峨眉山市| 高安市| 牡丹江市| 河东区| 大方县| 六盘水市| 彭山县| 武城县| 阜新| 深圳市|