日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:sched—-事件調(diào)度器

sched —- 事件調(diào)度器

源碼: Lib/sched.py

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),密云企業(yè)網(wǎng)站建設(shè),密云品牌網(wǎng)站建設(shè),網(wǎng)站定制,密云網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,密云網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。


sched 模塊定義了一個(gè)實(shí)現(xiàn)通用事件調(diào)度程序的類:

class sched.scheduler(timefunc=time.monotonic, delayfunc=time.sleep)

scheduler 類定義了一個(gè)調(diào)度事件的通用接口。 它需要兩個(gè)函數(shù)來實(shí)際處理“外部世界” —— timefunc 應(yīng)當(dāng)不帶參數(shù)地調(diào)用,并返回一個(gè)數(shù)字(“時(shí)間”,可以為任意單位)。 delayfunc 函數(shù)應(yīng)當(dāng)帶一個(gè)參數(shù)調(diào)用,與 timefunc 的輸出相兼容,并且應(yīng)當(dāng)延遲其所指定的時(shí)間單位。 每個(gè)事件運(yùn)行后還將調(diào)用 delayfunc 并傳入?yún)?shù) 0 以允許其他線程有機(jī)會在多線程應(yīng)用中運(yùn)行。

在 3.3 版更改: timefuncdelayfunc 參數(shù)是可選的。

在 3.3 版更改: scheduler 類可以安全的在多線程環(huán)境中使用。

示例:

 
 
 
 
  1. >>> import sched, time
  2. >>> s = sched.scheduler(time.time, time.sleep)
  3. >>> def print_time(a='default'):
  4. ... print("From print_time", time.time(), a)
  5. ...
  6. >>> def print_some_times():
  7. ... print(time.time())
  8. ... s.enter(10, 1, print_time)
  9. ... s.enter(5, 2, print_time, argument=('positional',))
  10. ... s.enter(5, 1, print_time, kwargs={'a': 'keyword'})
  11. ... s.run()
  12. ... print(time.time())
  13. ...
  14. >>> print_some_times()
  15. 930343690.257
  16. From print_time 930343695.274 positional
  17. From print_time 930343695.275 keyword
  18. From print_time 930343700.273 default
  19. 930343700.276

調(diào)度器對象

scheduler 實(shí)例擁有以下方法和屬性:

scheduler.enterabs(time, priority, action, argument=(), kwargs={})

安排一個(gè)新事件。 time 參數(shù)應(yīng)該有一個(gè)數(shù)字類型兼容的返回值,與傳遞給構(gòu)造函數(shù)的 timefunc 函數(shù)的返回值兼容。 計(jì)劃在相同 time 的事件將按其 priority 的順序執(zhí)行。 數(shù)字越小表示優(yōu)先級越高。

執(zhí)行事件意為執(zhí)行 action(*argument, **kwargs)。 argument 是包含有 action 的位置參數(shù)的序列。 kwargs 是包含 action 的關(guān)鍵字參數(shù)的字典。

返回值是一個(gè)事件,可用于以后取消事件( 參見 cancel() )。

在 3.3 版更改: argument 參數(shù)是可選的。

在 3.3 版更改: 添加了 kwargs 形參。

scheduler.enter(delay, priority, action, argument=(), kwargs={})

安排延后 delay 時(shí)間單位的事件。 除了時(shí)間是相對的,其他參數(shù)、效果和返回值與 enterabs() 相同。

在 3.3 版更改: argument 參數(shù)是可選的。

在 3.3 版更改: 添加了 kwargs 形參。

scheduler.cancel(event)

從隊(duì)列中刪除事件。 如果 event 不是當(dāng)前隊(duì)列中的事件,則此方法將引發(fā) ValueError。

scheduler.empty()

如果事件隊(duì)列為空則返回 True

scheduler.run(blocking=True)

運(yùn)行所有預(yù)定事件。 此方法將等待(使用傳遞給構(gòu)造函數(shù)的 delayfunc() 函數(shù))進(jìn)行下一個(gè)事件,然后執(zhí)行它,依此類推,直到?jīng)]有更多的計(jì)劃事件。

如果 blocking 為false,則執(zhí)行最快到期(如果有)的預(yù)定事件,然后在調(diào)度程序中返回下一個(gè)預(yù)定調(diào)用的截止時(shí)間(如果有)。

actiondelayfunc 都可以引發(fā)異常。 在任何一種情況下,調(diào)度程序都將保持一致狀態(tài)并傳播異常。 如果 action 引發(fā)異常,則在將來調(diào)用 run() 時(shí)不會嘗試該事件。

如果一系列事件的運(yùn)行時(shí)間大于下一個(gè)事件發(fā)生前的可用時(shí)間,那么調(diào)度程序只會保持落后。 沒有事件會被丟棄;調(diào)用代碼負(fù)責(zé)取消不再相關(guān)的事件。

在 3.3 版更改: 添加了 blocking 形參。

scheduler.queue

只讀屬性,按照計(jì)劃運(yùn)行的順序返回即將發(fā)生的事件列表。 每個(gè)事件都顯示為 named tuple ,包含以下字段:time、priority、action、argument、kwargs。


文章題目:創(chuàng)新互聯(lián)Python教程:sched—-事件調(diào)度器
鏈接分享:http://www.5511xx.com/article/dhogioe.html