详解Python3定时器任务代码


Posted in Python onSeptember 23, 2019

使用threading写的一个定时器任务demo:

import time
import sys
import signal
import datetime
import threading
#定时器
def schedule_update():
  t = threading.Timer(0, event_func)
  t.setDaemon(True)
  t.start()
#执行函数
def event_func():
  now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  print(now_time)
  exec_update()
  #update_openvas_dbs_from_cache()
  interval_time = delay_time()
  t = threading.Timer(interval_time, event_func)
  t.setDaemon(True)
  t.start()
#取时间点
def delay_time():
  # now time
  now_time = datetime.datetime.now()
  # tomorrow time
  next_time = now_time + datetime.timedelta(days=+1)
  next_year = next_time.date().year
  next_month = next_time.date().month
  next_day = next_time.date().day
  # get tomorrow 00:00
  next_time = datetime.datetime.strptime(str(next_year)+"-"+str(next_month)+"-"+str(next_day)+" 00:00:00", "%Y-%m-%d %H:%M:%S")
  # get secondes
  delay_time = (next_time - now_time).total_seconds()
  return delay_time
def quit_sys(signum, frame):
  sys.exit()
#接收C
if __name__ == "__main__":
  try:
    signal.signal(signal.SIGINT, quit_sys)
    signal.signal(signal.SIGTERM, quit_sys)
    schedule_update()
    print("schedule_update server starting up...\nHit Ctrl-C to quit.\n")
    while 1:
      time.sleep(1)
  except Exception as e:
    print(e)

总结

以上所述是小编给大家介绍的Python3定时器任务代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python抓取豆瓣图片并自动保存示例学习
Jan 10 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
全面理解Python中self的用法
Jun 04 Python
详解Swift中属性的声明与作用
Jun 30 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 Python
Python中强大的命令行库click入门教程
Dec 26 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
有关Python的22个编程技巧
Aug 29 Python
修改python plot折线图的坐标轴刻度方法
Dec 13 Python
python中logging模块的一些简单用法的使用
Feb 22 Python
Python依赖包整体迁移方法详解
Aug 15 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 Python
python应用文件读取与登录注册功能
Sep 23 #Python
Python爬虫 urllib2的使用方法详解
Sep 23 #Python
Python 正则表达式爬虫使用案例解析
Sep 23 #Python
python处理document文档保留原样式
Sep 23 #Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 #Python
python程序 线程队列queue使用方法解析
Sep 23 #Python
python程序 创建多线程过程详解
Sep 23 #Python
You might like
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
How TDD works
2012/09/30 面试题
高三体育教学反思
2014/01/29 职场文书
经理助理岗位职责
2014/03/05 职场文书
温馨提示标语
2014/06/26 职场文书
政风行风建设责任书
2014/07/23 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
《司马光》教学反思
2016/02/22 职场文书
Pytorch中的数据集划分&正则化方法
2021/05/27 Python