详解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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python正则表达式的使用范例详解
Aug 08 Python
详解Python的Django框架中inclusion_tag的使用
Jul 21 Python
python实现多线程抓取知乎用户
Dec 12 Python
python学习教程之使用py2exe打包
Sep 24 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
Nov 16 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 Python
pandas DataFrame运算的实现
Jun 14 Python
python中rb含义理解
Jun 18 Python
解决Python 写文件报错TypeError的问题
Oct 23 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 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/04 星际争霸
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
jquery cookie的用法总结
2013/11/18 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
js性能优化技巧
2015/11/29 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
vue-cli开发环境实现跨域请求的方法
2018/04/07 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
2018/09/07 Javascript
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
Python文件操作基础流程解析
2020/03/19 Python
python 如何停止一个死循环的线程
2020/11/24 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
护士检查书
2014/01/17 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
组织生活会发言材料
2014/12/15 职场文书
好人好事新闻稿
2015/07/17 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
Python实现自动玩连连看的脚本分享
2022/04/04 Python