详解Python3定时器任务代码
使用threading写的一个定时器任务demo:
importtime
importsys
importsignal
importdatetime
importthreading
#定时器
defschedule_update():
t=threading.Timer(0,event_func)
t.setDaemon(True)
t.start()
#执行函数
defevent_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()
#取时间点
defdelay_time():
#nowtime
now_time=datetime.datetime.now()
#tomorrowtime
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
#gettomorrow00:00
next_time=datetime.datetime.strptime(str(next_year)+"-"+str(next_month)+"-"+str(next_day)+"00:00:00","%Y-%m-%d%H:%M:%S")
#getsecondes
delay_time=(next_time-now_time).total_seconds()
returndelay_time
defquit_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_updateserverstartingup...\nHitCtrl-Ctoquit.\n")
while1:
time.sleep(1)
exceptExceptionase:
print(e)
总结
以上所述是小编给大家介绍的Python3定时器任务代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
