[英]Make python script execute some functions every hour
所以可以說我有這段代碼:
...
connect()
find_links()
find_numbers()
實際上它所做的是登錄一個帳戶,獲取一些號碼和一個鏈接:示例:
1.23、1.32、32.1、2131.3 link.com/stats/
1.32、1.41、3232.1、21211.3 link.com/stats/
所以我想做的就是讓這些函數每隔一小時運行一次,然后打印時間,這樣我就可以比較結果。我試過:
sched = BlockingScheduler()
@sched.scheduled_job('interval', seconds=3600 )
def do_that():
connect()
find_links()
find_numbers()
print(datetime.datetime.now())
但這只執行一次函數,然后只打印日期。
這應該調用一次函數,然后等待3600秒(一個小時),然后調用函數,等待等等。 不需要標准庫之外的任何內容。
from time import sleep
from threading import Thread
from datetime import datetime
def func():
connect()
find_links()
find_numbers()
print(datetime.now())
if __name__ == '__main__':
Thread(target = func).start()
while True:
sleep(3600)
Thread(target = func).start()
您的代碼可能需要一些時間才能運行。 如果你想從上一個開始時間開始精確執行你的函數,試試這個:
from datetime import datetime
import time
def do_that():
connect()
find_links()
find_numbers()
print(datetime.now())
if __name__ == '__main__':
starttime = time.time()
while True:
do_that()
time.sleep(3600.0 - ((time.time() - starttime) % 3600.0))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.