首页 > 解决方案 > 如何安排任务在特定日期的两个时间间隔之间每分钟运行一次?

问题描述

我正在使用 python 3.6 & schedule 模块,需要安排一个任务在一周中的某些特定日子的两个时间间隔之间每分钟运行一次。例如,假设任务是在每周三和周五的晚上 11:00 到凌晨 01:30 的 2.5 小时时间间隔内每分钟安排一次。它应该在两个给定的时间间隔之间每分钟运行一次,应该停止!

我试过的:

  1. 我尝试schedule.every(1).minutes.do(job)在里面使用schedule.every().day.at("11:00").do(job)

  2. 我已经构建了逻辑来成功选择我选择的日期,并且可以将它们用于调度逻辑。

但,

  1. 这不会在指定时间停止,我无法了解如何引入结束时间限制。

  2. 我不知道如何将它安排在晚上 11:00 到上午 01:30,我不知道如何告诉它上午 11:30 是在晚上 11:00 之后。

  3. 我不知道如何在我选择的日子安排它。

有什么帮助吗?

标签: python-3.xscheduled-tasks

解决方案


我同意亨利詹姆斯的回答。最好将 cron 用于这样的任务。我认为 cron 默认安装在 unix/linux 上。

但是,如果您必须坚持使用 python,那么您可以使用

import time
current_time=time.time()

这将为您提供当前的 unix 时间,然后您可以将其转换为小时-分钟-秒格式。您需要循环运行它以继续检查时间


推荐阅读