Python如何實現定時器功能

2022-10-06 04:15:15 字數 2052 閱讀 9514

timer: 隔一定時間呼叫乙個函式,如果想實現每隔一段時間就呼叫乙個函式的話,就要在timer呼叫的函式中,再次設定timer。timer是thread的乙個派生類

python中的執行緒提供了j**a執行緒功能的子集。

#!/usr/bin/env python

from threading import timer

import time

timer_interval=1

def delayrun():

print 'running'

t=timer(tpgqmyxhwdzimer_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)

用PHP實現定時器功能

以前只知道用js能實現定時器功能,而且很方便,但今天做專案過程中要實現個功能模組,做到其中某部分時,心想要是可以通過php來實現個定時器功能就好了,於是在網上找了找,發現用gnore user abort 函式配合set time limit 函式 和乙個死迴圈就可以實現類似功能。雖然專案最終未使用...

linux 實現簡單定時器的功能

對於程式中需要定時去check某些變數或者function返回結果的功能,最早就是用最簡單的sleep 的一行語句,雖然可以實現,但是需要主程式一直等待一段時間,無論是否提前有返回值。後面就想到可以用time 來實現相同的功能,和sleep不同的地方就是,如果check到有返回,可以立即break,...

springboot開啟定時器功能

場景 在開發中,遇到讓做定時任務很常見,而相比於傳統框架,springboot中寫定時任務顯得格外的簡單。思路 2步走 第一,開啟springboot的定時任務功能,這個只需在入口檔案類上加上注釋 enablescheduling enableasync 開啟非同步註解功能 enableschedu...