簡體   English   中英

讓python腳本每小時執行一些功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM