在Python中使用APSchedule和time.sleep()之间的区别

时间:2014-03-26 09:16:37

标签: python apscheduler

我正在创建一个脚本,其功能应该每X小时运行一次。

这样做的一种方式似乎是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()

这样做的最佳方式是什么? 不同方式的优点和缺点是什么? 如果更改了任何内容,该脚本将在以后成为守护进程。

1 个答案:

答案 0 :(得分:3)

APScheduler是否为您带来任何好处取决于您的要求。使用APScheduler的人通常有更多特定要求或需要动态添加/删除作业。

例如,如果您的守护程序被关闭且任务错过了截止日期,那么您希望如何处理?如果您需要任何此类高级任务管理功能,那么您将需要使用APScheduler。否则,你可以坚持使用time.sleep()。