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
- 封裝定時任務框架的正確方式封裝框架
- linux定時任務python找不到模組問題解決LinuxPython
- Spring Schedule定時任務看這一篇就夠了Spring
- Python任務排程模組APSchedulerPython
- JavaScript 模組封裝JavaScript封裝
- python apscheduler定時任務處理Python
- 定時任務
- python定時任務之小試牛刀Python
- Laravel 定時任務以及 cronrab 安裝Laravel
- Laravel 定時任務以及 crontab 安裝Laravel
- Selenium二次封裝-Python版本封裝Python
- Vue — 請求模組、api模組封裝VueAPI封裝
- Python實現定時任務的多種方式Python
- 基於python+selenium的二次封裝Python封裝
- SpringTask定時任務Spring
- Oracle定時任務Oracle
- Navicat定時任務
- 定時任務scheduler
- 定時任務操作
- @Scheduled 定時任務
- Linux 定時任務Linux
- Linux | 定時任務Linux
- Java 定時任務Java
- At 、Crontabl定時任務
- crontab定時任務
- laravel定時任務Laravel
- SpringBoot定時任務Spring Boot
- springboot:定時任務Spring Boot
- 定時任務管理
- ubuntu定時任務Ubuntu
- 定時任務crond服務
- vue - axios網路封裝模組VueiOS封裝
- GO的定時器Timer 和定時任務cronGo定時器
- SpringBoot與非同步任務、定時任務、郵件任務Spring Boot非同步
- Linux系統中延時任務及定時任務Linux