2017-05-22 343 views
0

所以,可以說,我有這樣的代碼:使Python腳本執行某些功能每隔一小時

...

connect() 
find_links() 
find_numbers() 
其實它的作用是登錄賬號

,得到一些數字和一個鏈接: 例如:

1.23,1.32,32.1,2131.3 link.com/stats/

1.32,1.41,3232.1,21211.3鏈路.COM /統計/

所以我想要做的是使這些功能運行每隔一小時 然後打印的時間,所以我可以再比較results.I嘗試:

sched = BlockingScheduler() 
@sched.scheduled_job('interval', seconds=3600) 

def do_that(): 
    connect() 
    find_links() 
    find_numbers() 
    print(datetime.datetime.now()) 

但這隻執行一次功能,然後只打印日期。

+0

您是否嘗試將間隔降低到小於3600秒以便證明它「僅執行一次」? – errata

+0

你試過用python的sched.scheduler或threading.Timer嗎? – aksss

+1

這裏是一個更好的答案 - https://stackoverflow.com/questions/373335/how-do-i-get-a-cron-like-scheduler-in-python – aksss

回答

0

這應該調用一次函數,然後等待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() 
相關問題