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 相关文章推荐
浅谈Python中数据解析
May 05 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
Python3 修改默认环境的方法
Feb 16 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
Python下简易的单例模式详解
Apr 08 Python
简单了解python反射机制的一些知识
Jul 13 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
实战Python爬虫爬取酷我音乐
Apr 11 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
wordpress之wp-settings.php
2007/08/17 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
javascript 单选框,多选框美化代码
2008/08/01 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
python实现装饰器、描述符
2018/02/28 Python
对python sklearn one-hot编码详解
2018/07/10 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
CSS3 边框效果
2019/11/04 HTML / CSS
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
一名女生的自荐信
2013/12/08 职场文书
红旗团支部事迹材料
2014/01/27 职场文书
项目建议书模板
2014/05/12 职场文书
超越自我演讲稿
2014/05/21 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
医院消毒隔离制度
2015/08/05 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技