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实现提取谷歌音乐搜索结果的方法
Jul 10 Python
python中的错误处理
Apr 10 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
分分钟入门python语言
Mar 20 Python
解决python3 网络请求路径包含中文的问题
May 10 Python
python 切换root 执行命令的方法
Jan 19 Python
基于python的ini配置文件操作工具类
Apr 24 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
python地震数据可视化详解
Jun 18 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
Python实现直播推流效果
Nov 26 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
Apr 10 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下网站防IP攻击代码,超级实用
2010/10/24 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
深入apache host的配置详解
2013/06/09 PHP
PHP数组函数知识汇总
2016/05/12 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
node.js中的console用法总结
2014/12/15 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python 绘图和可视化详细介绍
2017/02/11 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
Python版名片管理系统
2018/11/30 Python
python实现斗地主分牌洗牌
2020/06/22 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
篮球比赛口号
2014/06/10 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
送达通知书
2015/04/25 职场文书
生日寿星公答谢词
2015/09/29 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
创业计划书之校园超市
2019/09/12 职场文书
在Python 中将类对象序列化为JSON
2022/04/06 Python