微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用'schedule'在pyhton中的确定时间仅运行一次计划任务

如何解决使用'schedule'在pyhton中的确定时间仅运行一次计划任务

我想用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)

解决方法

问题的解决方案,我认为不是最佳实践,但效果很好,制作了一个通过任务的计数器,并结束比较 te list 和计数器中的小时数,如下所示:


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()

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

,

你可以试试simple_scheduler

from simple_scheduler.event import event_scheduler
event_scheduler.timezones()
TZ = "Asia/Kolkata"
WHEN = ["mon|10:00","tue|11:30","wed|14:00"]
def target(a,b=1,*args,**kwargs):
    print(a,b,args,kwargs)

event_scheduler.add_job(target = target,args = (0,),# don't forget "," for single arguments
                        kwargs = {"b":2},when = WHEN,tz = TZ)
event_scheduler.run()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。