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实现简单的相似图片搜索的教程
Apr 23 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
深入理解Python分布式爬虫原理
Nov 23 Python
python实现用户管理系统
Jan 10 Python
python使用pil库实现图片合成实例代码
Jan 20 Python
pygame实现简易飞机大战
Sep 11 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
浅析python标准库中的glob
Mar 13 Python
Python开发入门——迭代的基本使用
Sep 03 Python
Python制作动态字符画的源码
Aug 04 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简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
php格式文件打开的四种方法
2018/02/24 PHP
List Installed Hot Fixes
2007/06/12 Javascript
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
关于python中导入文件到list的问题
2020/10/31 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
家长评语大全
2014/01/22 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
个人查摆剖析材料
2014/02/04 职场文书
法人身份证明书
2015/06/18 职场文书
辞职信怎么写?
2019/05/21 职场文书