python的schedule定时任务模块二次封装方法


Posted in Python onFebruary 19, 2019

通过定时来执行任务,我们日常工作生活中会经常用到。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的schedule定时任务模块二次封装方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于wxpython开发的简单gui计算器实例
May 30 Python
python数组过滤实现方法
Jul 27 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
python实现验证码识别功能
Jun 07 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
Python实现的特征提取操作示例
Dec 03 Python
python中import与from方法总结(推荐)
Mar 21 Python
python向图片里添加文字
Nov 26 Python
Python对wav文件的重采样实例
Feb 25 Python
Python气泡提示与标签的实现
Apr 01 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
Python3 max()函数基础用法
Feb 19 #Python
Python3 log10()函数简单用法
Feb 19 #Python
Python3中exp()函数用法分析
Feb 19 #Python
详解Python3中ceil()函数用法
Feb 19 #Python
django与小程序实现登录验证功能的示例代码
Feb 19 #Python
实例讲解Python3中abs()函数
Feb 19 #Python
python协程之动态添加任务的方法
Feb 19 #Python
You might like
PHP-redis中文文档介绍
2013/02/07 PHP
常用PHP框架功能对照表
2014/10/23 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
javascript操作向表格中动态加载数据
2020/08/27 Javascript
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
大学军训自我鉴定
2013/12/15 职场文书
初中语文教学反思
2014/02/02 职场文书
《鸟的天堂》教学反思
2014/02/27 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
企业法人授权委托书
2014/09/25 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
自查自纠整改报告
2014/11/06 职场文书
Python面试不修改数组找出重复的数字
2022/05/20 Python
Windows7下FTP搭建图文教程
2022/08/05 Servers