详解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 Tkinter GUI编程入门介绍
Mar 10 Python
python实现自动更换ip的方法
May 05 Python
利用Python如何生成随机密码
Apr 20 Python
python if not in 多条件判断代码
Sep 21 Python
python邮件发送smtplib使用详解
Jun 16 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
机器学习实战之knn算法pandas
Jun 22 Python
python3射线法判断点是否在多边形内
Jun 28 Python
django-初始配置(纯手写)详解
Jul 30 Python
Python 动态变量名定义与调用方法
Feb 09 Python
用Python实现屏幕截图详解
Jan 22 Python
python套接字socket通信
Apr 01 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
TensorFlow平台下Python实现神经网络
2018/03/10 Python
如何使用python传入不确定个数参数
2020/02/18 Python
如何表示python中的相对路径
2020/07/08 Python
批评与自我批评材料
2014/02/15 职场文书
秸秆管理实施方案
2014/03/15 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
讲党性心得体会
2014/09/03 职场文书
孔繁森观后感
2015/06/10 职场文书
未婚证明格式
2015/06/15 职场文书
mysql知识点整理
2021/04/05 MySQL
Go语言安装并操作redis的go-redis库
2022/04/14 Golang