import schedule import time def job(): print("I'm working...") schedule.every(10).seconds.do(job) # 每10秒执行一次 schedule.every().wednesday.at("13:15").do(job) # 每周三13点15执行 schedule.every(10).minutes.do(job) # 每10分钟执行一次 schedule.every().hour.do(job) # 每小时执行一次 schedule.every().day.at("10:30").do(job) # 每天十点半执行 schedule.every(5).to(10).minutes.do(job) # 每5-10分钟随机执行一次 schedule.every().monday.do(job) # 每周一执行 schedule.every().minute.at(":17").do(job) # 每分钟的17秒执行一次 while True: schedule.run_pending() # 运行所有可运行的任务
4시 30분에 실행하고 싶으시다면,schedul.every().day.at("04:30" 라고 적어주셔야 합니다. ).do(job)
schedul.every().day.at("4:30").do(job)
만 작성하는 대신 프로그램 실행 시간이 설정한 시간 간격보다 짧은 경우 , 즉, 다음에 예약된 프로그램이 실행되기 시작할 때 마지막 프로그램의 실행이 완료되지 않은 경우 새 프로세스가 열립니다.
프로세스가 너무 많이 쌓이면 재앙
스케줄 설정을 통해 정기적으로 작업을 실행
import schedule import time # 定义某个任务 def job(): ... # 设置执行时间 schedule.every().seconds.do(job) # 每秒执行一次任务 schedule.every().minutes.do(job) # 每分钟执行一次任务 schedule.every().hour.do(job) # 每小时执行一次任务 # 可以指定具体时间间隔 schedule.every(10).minutes.do(job) # 每10分钟执行一次任务 # 设置每天某一时刻执行 schedule.every().day.at("05:15").do(job) # 每天凌晨5点15分执行任务 # 设置星期几执行 schedule.every().monday.at("05:15").do(job) # 每周一凌晨5点15分执行任务 while True: schedule.run_pending() # 运行所有可运行的任务
첫 번째 주의할 점은 프로그램을 수동으로 실행하여 서비스를 시작한 다음(이 시점에서 프로그램이 일시 중지됨) 지정된 시간에 실행을 계속해야 한다는 것입니다.
두 번째 주의할 점은 사용시 프로그램 실행시간으로 인해 시간지연 문제가 발생한다는 점입니다. 예를 들어 10분마다 실행되도록 코드를 설정하면
schedule.every(10).minutes.do(job) # 每10分钟执行一次任务
결과가
나오는데, 다음 실행 시간은 마지막 프로그램 실행 종료 시간 + 10분부터이고 내가 원하는 건 시작이다. 마지막 프로그램에서 +10min을 실행합니다. 즉, 올바른 시간은 10:20:21이 되어야 합니다. 이 경우 시간 지연이 점점 더 커집니다.
특정 시간만 추가하면 됩니다(여기서 설정은 15초).
schedule.every(10).minutes.at(":15").do(job) # 每10分钟过15s执行程序
즉, 10:00:21에 서비스를 시작하고
에 처음으로 실행합니다. 10:10:15 ,
두 번째 실행은 10:20:15,
세 번째 실행은 10:30:15,
…
이렇게 하면 프로그램 실행 시간으로 인한 시간 지연 문제가 해결됩니다.
주의! ! ! 처음 서비스를 시작할 때에는 현재 시간보다 15초 후에 프로그램을 실행해야 정상적으로 작동됩니다.
예를 들어 10:00:08에 서비스가 시작되면 다음 번에는 10:09:15에 실행됩니다(예외)
예를 들어 10:00:21에 서비스가 시작되면 다음번에는 10:10:15에 실행됩니다. (예외) 보통)
위 내용은 Python에서 프로그램의 예약 실행 문제를 해결할 수 있는 방법이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!