运行 使用 'schedule' 在 Python 的确定时间仅执行一次计划任务
Run scheduled task only once on determinated hour in Python using 'schedule'
我想使用 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)
问题的解决方案,我认为不是最好的做法,但效果很好,制作了一个计数器来完成任务,并结束比较列表和计数器中的小时数,如下所示:
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()
然后每天运行它,我会使用OS基础的工具来安排脚本,就像之前的答案一样,谢谢
我想使用 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)
问题的解决方案,我认为不是最好的做法,但效果很好,制作了一个计数器来完成任务,并结束比较列表和计数器中的小时数,如下所示:
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()
然后每天运行它,我会使用OS基础的工具来安排脚本,就像之前的答案一样,谢谢