python的schedule定時任務(wù)模塊二次封裝方法
通過定時來執(zhí)行任務(wù),我們?nèi)粘9ぷ魃钪袝?jīng)常用到。python有schedule這個庫,簡單好用,比如,可以每秒,每分,每小時,每天,每天的某個時間點,間隔天數(shù)的某個時間點定時執(zhí)行,另外自己又寫了一個可以自定義時間點來定時執(zhí)行任務(wù),代碼如下。
import schedule
import time
class Timing():
#按秒循環(huán)定時執(zhí)行任務(wù)
def doEverySecond(self,seconds,job_func):
try:
schedule.every(seconds).seconds.do(job_func)
while True:
schedule.run_pending()
except Exception as e:
raise e
# 按分鐘循環(huán)定時執(zhí)行任務(wù)
def doEveryMinutes(self,minutes,job_func):
try:
schedule.every(minutes).minutes.do(job_func)
while True:
schedule.run_pending()
except Exception as e:
raise e
# 按小時循環(huán)定時執(zhí)行任務(wù)
def doEveryHours(self,Hours,job_func):
try:
schedule.every(Hours).minutes.do(job_func)
while True:
schedule.run_pending()
except Exception as e:
raise e
#按天數(shù)在某個時刻定時執(zhí)行任務(wù)
def doEveryDay(self,time,job_func,days=1):
try:
schedule.every(days).days.at(time).do(job_func)
while True:
schedule.run_pending()
except Exception as e:
raise e
#設(shè)置在每天的多個時刻定時執(zhí)行任務(wù),這個方法在實際工作中比較常用到
def doEveryTime(self,time_str,job_func,days=1):
'''
:param time_str:
:param job_func:
:param days:
:return: None
example:time_str="10:30","10:45","11:00"
'''
try:
list_time = time_str.split(",")
for time in list_time:
schedule.every(days).days.at(time).do(job_func)
while True:
schedule.run_pending()
except Exception as e:
raise e
#自定義時間,dateTimes格式為:"2018-06-08 16:55,2018-06-08 16:56"
def doJustTime(self,datestr,job_func):
try:
date_list = datestr.split(",")
for i in date_list:
#轉(zhuǎn)換為unix時間戳格式
timeArray = time.strptime(i, "%Y-%m-%d %H:%M")
timestamp = time.mktime(timeArray)
while True:
now_time = round(time.time(),0)
if timestamp == now_time:
job_func()
break
else:
time.sleep(1)
except Exception as e:
raise e
if __name__ == "__main__":
def print1():
print("ok")
Timing().doJustTime('2018-06-08 17:53,2018-06-08 17:54',print1)
以上這篇python的schedule定時任務(wù)模塊二次封裝方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解python3安裝pillow后報錯沒有pillow模塊以及沒有PIL模塊問題解決
這篇文章主要介紹了python3安裝pillow后報錯沒有pillow模塊以及沒有PIL模塊問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
帶你學(xué)習(xí)Python如何實現(xiàn)回歸樹模型
這篇文章主要介紹了Python如何實現(xiàn)回歸樹模型,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
YOLOv5車牌識別實戰(zhàn)教程(七)實時監(jiān)控與分析
這篇文章主要介紹了YOLOv5車牌識別實戰(zhàn)教程(七)實時監(jiān)控與分析,在這個教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識別,幫助你快速掌握YOLOv5車牌識別技能,需要的朋友可以參考下2023-04-04
python通過get,post方式發(fā)送http請求和接收http響應(yīng)的方法
這篇文章主要介紹了python通過get,post方式發(fā)送http請求和接收http響應(yīng)的方法,涉及Python使用urllib模塊與urllib2模塊實現(xiàn)get與post發(fā)送數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2015-05-05
Python?multiprocessing.value實現(xiàn)多進(jìn)程數(shù)據(jù)共享的示例
本文介紹了Python中的multiprocessing.value,通過示例代碼展示了如何使用這個類實現(xiàn)多進(jìn)程數(shù)據(jù)共享,以及使用場景和注意事項等內(nèi)容,感興趣的朋友跟隨小編一起看看吧2023-07-07

