网络编程
位置:首页>> 网络编程>> Python编程>> 详解Python3定时器任务代码

详解Python3定时器任务代码

作者:撒欢  发布时间:2023-10-15 14:50:26 

标签:python,定时器

使用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定时器任务代码,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/frisk/p/11568264.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com