详解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学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
实例解析Python中的__new__特殊方法
Jun 02 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
python fabric实现远程部署
Jan 05 Python
详解python中requirements.txt的一切
Mar 03 Python
python使用magic模块进行文件类型识别方法
Dec 08 Python
解决Django一个表单对应多个按钮的问题
Jul 18 Python
Python 求数组局部最大值的实例
Nov 26 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
python3.8下载及安装步骤详解
Jan 15 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 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
海贼王:最美的悬赏令!
2020/03/02 日漫
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
PHPMailer发送邮件
2016/12/28 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
php多进程应用场景实例详解
2019/07/22 PHP
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python Pexpect库的简单使用方法
2019/01/29 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
Python类反射机制使用实例解析
2019/12/30 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
python爬虫容易学吗
2020/06/02 Python
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
华为的Java面试题
2014/03/07 面试题
应用电子技术专业个人求职信
2013/09/21 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
秋季运动会开幕词
2015/01/28 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
SQL Server中锁的用法
2022/05/20 SQL Server