首页 > 解决方案 > 使用“计划”在 Python 中的确定时间仅运行一次计划任务

问题描述

我想使用python中的库计划执行计划任务只运行一次

我的例子是这样的:

schedule.every().day.at(hour).do(job)

它每天执行一个任务,但我不希望它每天执行一次,就像这样:

schedule.at(hour).do(job)

这可能吗?

编辑

这是我的代码以便更好地说明

for hour in sorted(list_of_hours):
    schedule.every().day.at(hour).do(task)

标签: pythontaskjobsschedulehour

解决方案


问题的解决方案,我认为这不是最好的做法,但效果很好,制作了一个可以完成任务的计数器,最后比较了 te 列表和计数器中的小时数,如下所示:


counter = 0
qtOfHours = 0

def task():
    global counter += 1

for hour in sorted(list_of_hours):
    schedule.every().day.at(hour).do(task)

while True:
    schedule.run_pending()
    time.sleep(1)
    if counter == qtOfHours:
        sys.exit()

然后每天运行它,我将使用基于操作系统的工具来安排脚本,就像之前的答案一样,谢谢


推荐阅读