我们如何在一个特定的时间内停止一个程序day@15:每天下午30点…?(每1分钟运行一次)

2024-09-24 06:20:10 发布

您现在位置:Python中文网/ 问答频道 /正文

任何人帮我获取以下条件的代码

我希望每2秒和3秒运行一次job1和job2,每天下午17:31运行一次job3。。 *但是,作业1和作业2应该start@9:每天下午30点..而且应该stop@17:下午三点半

下面是我根据以上条件更新的代码

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)

Tags: 代码importtimedef作业条件doworking
1条回答
网友
1楼 · 发布于 2024-09-24 06:20:10

根据手册here你可以cancel一份工作

while True:中:

  • 检查当前时间
  • 如果在9:30之前取消job1job2如果当前已安排
  • 如果是在17:30之后,取消job1job2如果当前已安排

您还应该将job3的17:28改为17:31,如果此时它应该运行。。。如果您使用操作系统调度程序在9:29启动您的程序,并在job3完成后退出它,这可能会更好-这比让您的程序在17:31到9:30之间每秒运行要好,因为无论如何都不会安排任何时间

相关问题 更多 >