日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python定时任务启动与停止_Python启动定时任务

發(fā)布時(shí)間:2023/12/20 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python定时任务启动与停止_Python启动定时任务 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. time模塊

time.sleep(n)

例如下面的例子

def work(n): - 每隔n 秒 輸出 1到10之間的一個(gè)數(shù)

for i in range(10):

print i

time.sleep(n)

上面的實(shí)例是阻塞的,在sleep的時(shí)間內(nèi)程序一直堵塞

詳情請(qǐng)參考官方文檔-----time.sleep

2. sched 模塊

1.導(dǎo)入sched模塊

import sched

----------------------------------------------------------------------------------

2.創(chuàng)建scheduler對(duì)象

s = sched.scheduler(time.time, time.sleep)

- time.time:返回時(shí)間戳的函數(shù)

- time.sleep:可以在定時(shí)未到達(dá)之前阻塞

------------------------------------------------------------------------------------

3.定義要執(zhí)行的任務(wù)

def worker(n):

pass

-------------------------------------------------------------------------------------

4.將任務(wù)添加到scheduler的盒子中

s.enter(delay,priority,action,arguments)

- delay:int /float型的表示多少秒后執(zhí)行這個(gè)action任務(wù)

- priority:優(yōu)先級(jí)表示當(dāng)多個(gè)任務(wù)同時(shí)在一個(gè)時(shí)刻將執(zhí)行優(yōu)先執(zhí)行那個(gè)任務(wù)

0優(yōu)先級(jí)最高,數(shù)字越小優(yōu)先級(jí)越高

- action: 執(zhí)行的任務(wù)在上面的例子中也就是函數(shù)名worker

- arguments:參數(shù)列表以元組的形式如:(n,)

如果沒(méi)有參數(shù)傳入直接傳空括號(hào)()

--------------------------------------------------------------------------------------

5.運(yùn)行任務(wù)

s.run()

在多線(xiàn)程環(huán)境中由于線(xiàn)程全局鎖安全,一個(gè)任務(wù)沒(méi)結(jié)束,就要等待也是阻塞的詳細(xì)請(qǐng)查看官方庫(kù)----sched

3.threading.Timer()

為了解決上面的阻塞問(wèn)題,再多線(xiàn)程的環(huán)境中能夠并發(fā)執(zhí)行

1.導(dǎo)入模塊

from threading import Timer

----------------------------------------------------------------------------------------

2.定義要執(zhí)行的任務(wù)

def work(arg):

pass

----------------------------------------------------------------------------------------

3.啟動(dòng)執(zhí)行

Timer(delay, work, (arg)).start()

- 不需要區(qū)分優(yōu)先級(jí)可以同時(shí)執(zhí)行任務(wù)delay相同時(shí)就同時(shí)執(zhí)行任務(wù)

- delay:int /float型的表示多少秒后執(zhí)行這個(gè)work任務(wù)

- work: 執(zhí)行任務(wù)的方法名字

- arg:參數(shù)列表元祖(arg,)如果沒(méi)有就是()

4.更加高級(jí)的任務(wù)調(diào)度框架 apscheduler

官方文檔 查看

1.導(dǎo)入模塊

from apscheduler.schedulers.blocking import BlockingScheduler

2.初始化一個(gè)任務(wù)實(shí)例

sched = BlockingScheduler()

3.添加作業(yè)任務(wù)

sched.add_job(my_job, 'interval', seconds=5)

- my_job:作業(yè)任務(wù)

-‘ interval ’ ‘cron ’等等

4.啟動(dòng)任務(wù)

sched.start()

總結(jié)

以上是生活随笔為你收集整理的python定时任务启动与停止_Python启动定时任务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。