我希望在每小时开始时运行一些工作,例如4点钟,5点钟,等等......
我正在尝试使用作业调度程序,但问题是初始启动后每小时都会进行调度,例如,如果应用程序在4:20启动,则下一次运行将是5:20,6:20,依此类推。我无法按时开始计划每小时(5:00,6:00)等。
sched = BlockingScheduler()
sched.add_job(log_setup, 'interval', hours=1)
sched.start()
我怎样才能让它发挥作用?
答案 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()