Python如何实现定时器功能
作者:laozhang 发布时间:2023-04-13 23:19:28
标签:Python,定时器
Timer: 隔一定时间调用一个函数,如果想实现每隔一段时间就调用一个函数的话,就要在Timer调用的函数中,再次设置Timer。Timer是Thread的一个派生类
python中的线程提供了java线程功能的子集。
#!/usr/bin/env python
from threading import Timer
import time
timer_interval=1
def delayrun():
print 'running'
t=Timer(timer_interval,delayrun)
t.start()
while True:
time.sleep(0.1)
print 'main running'
t是一个Timer对象。delay一秒钟之后执行delayrun函数。
其中time.sleep函数是用来让主线程暂停一点时间再继续执行。
实例扩展:
Python3定时器任务代码
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)
来源:https://www.py.cn/jishu/jichu/10436.html


猜你喜欢
- 一、构造dataframeimport pandas as pdimport numpy as npdf=pd.DataFrame(np.a
- 本文实例讲述了python中xrange用法。分享给大家供大家参考。具体如下:先来看如下示例:>>> x=xrange(0
- 机器学习之随机森林,供大家参考,具体内容如下1、Bootstraping(自助法)
- VS Code 装好ESLint 插件报黄线的问题,具体解决方法如下所示:ESLint is disabled since its exec
- 前言密码重置功能相信对大家来说都不陌生,本文主要给大家介绍了关于使用Django内置的认证视图实现简单的通过邮箱重置密码的功能,分享出来供大
- OUTPUT是SQL SERVER2005的新特性,可以从数据修改语句中返回输出,可以看作是"返回结果的DML"。INS
- matlab中创建类似字典的数据结构Matlab中创建struct:d = struct('a','1',&
- asp在线备份sql server数据库: 1、备份sqlserver 代码如下:<% SQL="backup&n
- 变量全都是引用跟其他编程语言不同,Python的变量不是盒子,不会存储数据,它们只是引用,就像标签一样,贴在对象上面。比如:>>
- 开发环境:win10-64 python2.7.16 chrome77from selenium import we
- 下面示例代码是防止用网页刷新过快,如果多个页面使用,最好将<%...%>代码存为一个asp文件,在需要的页面最前面include
- 本文实例讲述了Python实现给qq邮箱发送邮件的方法。分享给大家供大家参考。具体实现方法如下:#-*-coding:utf-8-*- &n
- aspjpeg组件官方下载地址:http://www.persits.com/说明: 1、aspjpeg能对图片水印进行透明度调整
- 一、运行vue项目1、下载node.js安装完成后分别在cmd中执行node -v查看是否安装成功,出现版本号就安装成功了2、安装 webp
- Python实战系列用于记录实战项目中的思路,代码实现,出现的问题与解决方案以及可行的改进方向本文为第2篇–200行Python代码实现20
- 解析html是爬虫后的重要的一个处理数据的环节。一下记录解析html的几种方式。先介绍基础的辅助函数,主要用于获取html并输入解析后的结束
- 一、结论语法结构: limit offset, rows结论:rows 相同条件下,offset 值越大,limit 语句性能越差二、测试执
- 一、安装Pyinstaller环境:python3.6、window10注意事项:python64位版本打包的exe,只能在64位操作系统使
- 在日常工作中;经常会遇到这样的需求:Oracle 数据表跟文本或者文件格式进行交互;即将指定文件内容导入对应的 Oracle 数据表中;或者
- 本节内容:本节内容是根据上学期所上的模式识别课程的作业整理而来,第一道题目是Kmeans聚类算法,数据集是Iris(鸢尾花的数据集),分类数