安排工作从每小时开始

时间:2017-12-10 16:48:42

标签: python scheduled-tasks

我希望在每小时开始时运行一些工作,例如4点钟,5点钟,等等......

我正在尝试使用作业调度程序,但问题是初始启动后每小时都会进行调度,例如,如果应用程序在4:20启动,则下一次运行将是5:20,6:20,依此类推。我无法按时开始计划每小时(5:00,6:00)等。

sched = BlockingScheduler() 
sched.add_job(log_setup, 'interval', hours=1)
sched.start()

我怎样才能让它发挥作用?

2 个答案:

答案 0 :(得分:0)

你可以这样做的一种方法是使用' cron'调度程序而不是' interval'调度。所以你的代码看起来像这样:

  sched.add_job(log_setup, 'cron', minute=0)

这应该使工作每小时在00标记处开火。 More information about using cron style jobs with the APScheduler library can be found here

答案 1 :(得分:0)

你可以启动程序,然后暂停它直到你想要的时间,如下所示:

chosen_time = 9:00 #change to whatever your starting time is   
if datetime.datetime.now().strftime("%H:%M")) != chosen_time:
    sched.pause()
else:
    sched.resume()