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实现百度关键词排名查询
Mar 30 Python
Python编程入门的一些基本知识
May 13 Python
Python实现比较两个列表(list)范围
Jun 12 Python
Python 基于Twisted框架的文件夹网络传输源码
Aug 28 Python
python MySQLdb使用教程详解
Mar 20 Python
Python查找第n个子串的技巧分享
Jun 27 Python
Django REST framework内置路由用法
Jul 26 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
Python更换pip源方法过程解析
May 19 Python
python 如何将office文件转换为PDF
Sep 22 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
Jun 29 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
PHP调用三种数据库的方法(2)
2006/10/09 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
prototype Element学习笔记(篇一)
2008/10/26 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
js运动应用实例解析
2015/12/28 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
angularJS开发注意事项
2018/05/26 Javascript
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
python基于递归解决背包问题详解
2019/07/03 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
水果超市创业计划书
2014/01/27 职场文书
食品安全承诺书范文
2014/08/29 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
Python中字符串对象语法分享
2022/02/24 Python