2

X時間ごとに実行する関数を持つスクリプトを作成しています。

それを行う1つの方法は、time.sleep()を使用することです。この Stackoverflow questionからの例。

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

他の方法はAPSchedulerのようです。このドキュメントからの例。

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()

これを行う最善の方法は何ですか?さまざまな方法の長所と短所は何ですか? それが何かを変更した場合、スクリプトは後でデーモンになります。

4

1 に答える 1

3

APScheduler がメリットをもたらすかどうかは、要件によって異なります。APScheduler を使用する人は通常、より具体的な要件を持っているか、ジョブを動的に追加/削除する必要があります。

たとえば、デーモンがシャットダウンされ、タスクが締め切りに間に合わなかった場合、どのように処理しますか? このような高度なタスク管理機能が必要な場合は、APScheduler を使用することをお勧めします。それ以外の場合は、time.sleep() を使用できます。

于 2014-04-01T18:12:38.803 に答える