python的schedule定時任務模組二次封裝
通過定時來執行任務,我們日常工作生活中會經常用到。python有schedule這個庫,簡單好用,比如,可以每秒,每分,每小時,每天,每天的某個時間點,間隔天數的某個時間點定時執行,另外自己又寫了一個可以自定義時間點來定時執行任務,程式碼如下。
import schedule
import time
class Timing():
#按秒迴圈定時執行任務
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
# 按分鐘迴圈定時執行任務
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
# 按小時迴圈定時執行任務
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
#按天數在某個時刻定時執行任務
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
#設定在每天的多個時刻定時執行任務,這個方法在實際工作中比較常用到
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:
#轉換為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 定時任務之 schedulePython
- schedule 定時任務
- Python定時任務輕量解決方案---SchedulePython
- 封裝定時任務框架的正確方式封裝框架
- Spring Schedule定時任務看這一篇就夠了Spring
- linux定時任務python找不到模組問題解決LinuxPython
- 定時任務
- Laravel 定時任務以及 cronrab 安裝Laravel
- Laravel 定時任務以及 crontab 安裝Laravel
- mysql計劃任務:event scheduleMySql
- python apscheduler定時任務處理Python
- 定時任務scheduler
- At 、Crontabl定時任務
- crontab定時任務
- 定時任務管理
- ubuntu定時任務Ubuntu
- Oracle定時任務Oracle
- laravel定時任務Laravel
- Navicat定時任務
- Java 定時任務Java
- @Scheduled 定時任務
- Js定時任務JS
- mysql 定時任務MySql
- Web定時任務Web
- 定時任務操作
- Python實現定時任務的多種方式Python
- 定時任務的實現
- (定時任務)crontab 的用法
- linux定時任務的設定Linux
- 定時任務crond服務
- oracle schedule 任務失敗處理Oracle
- quartz定時任務時間設定quartz
- Python3 - 時間處理與定時任務Python
- Golang——Cron 定時任務Golang
- Linux | 定時任務Linux
- Linux 定時任務Linux
- java web定時任務JavaWeb
- 石英定時任務-quartzquartz