2014-03-26 29 views
0

我正在創建一個腳本,該腳本具有應該每X小時運行一次的功能。在Python中使用APSchedule和time.sleep()之間的區別

這樣做的一種方法似乎是time.sleep()。 取自this Stackoverflow question的示例。

import time 
while True: 
    print "This prints once a minute." 
    time.sleep(60) # Delay for 1 minute (60 seconds) 

另一種方式似乎與APScheduler。 取自this documentation的示例。

from apscheduler.scheduler import Scheduler 

sched = Scheduler() 

@sched.interval_schedule(hours=3) 
def some_job(): 
    print "Decorated job" 

sched.configure(options_from_ini_file) 
sched.start() 

這樣做的最好方法是什麼? 不同方式的優缺點是什麼? 如果更改了任何內容,該腳本稍後將成爲守護進程。

回答

2

APScheduler是否爲您帶來任何好處取決於您的要求。使用APScheduler的人通常會有更具體的要求或需要動態添加/刪除作業。

例如,如果您的守護進程被關閉並且任務錯過了最後期限,那麼您想如何處理?如果您需要任何此類高級任務管理功能,那麼您將需要使用APScheduler。否則,你可以堅持time.sleep()。

相關問題