我们如何每天一天@ 15:30pm在一天的某个特定时间停止某个程序...?(每1分钟运行一次)

时间:2019-02-08 06:23:40

标签: python python-3.x

任何人都可以帮助我获取以下条件的代码...

我想每2秒和3秒运行一次job1和job2,并且每天仅在17:31 pm一次运行job3。 *但是,job1和job2应该在一天@ 9:30pm开始..应该在@ 17:30pm停止...!

下面是我要根据上述条件更新的代码...!

import schedule
import time

def job1():
   print("I'm working...")
def job2():
   print("I'm not working...")
def job3():
   print("I'll not work...")

schedule.every(2).seconds.do(job1) #For Every 2 seconds
schedule.every(5).seconds.do(job2) #For Every 3 Seconds


schedule.every().day.at("17:28").do(job3) #Once in a day

while True:
   schedule.run_pending()
   time.sleep(1)

1 个答案:

答案 0 :(得分:0)

根据手册here,您可以cancel一份工作。

在您的while True:内:

  • 检查当前时间
  • 如果在9:30之前取消,请取消job1,如果当前已排定,请取消job2
  • 如果在17:30之后,请取消job1job2(如果当前已安排)

如果job3的17:28可以在此时运行,也应该将其修复:17:31 ...并且如果您使用OS调度程序从9开始启动此程序,则可能会更好。 :29并在job3完成后退出它-最好让您的程序在17:31到9:30之间每秒钟运行一次,而无论如何也不会安排任何时间...

相关问题