首页 > 解决方案 > Python计划作业未启动

问题描述

为什么工作没有被执行?如果您删除schedule.clear()一切正常,但脚本是重复的。

def greet(name):
    print('Hello', name)

while True: 
    schedule.clear()
    with open("config.json") as config:
        data = json.load(config)
        if data["start"]:
            date = data["time"]          
            for i in date:
                schedule.every().day.at(i).do(greet, name =data["name"])  
            config.close()
            all_jobs = schedule.get_jobs()
            print(all_jobs)
            schedule.run_pending()
            time.sleep(1)

输出

[Every 1 day at 09:18:00 do greet(name='Лариса') (last run: [never], next run: 2021-06-26 09:18:00), Every 1 day at 09:19:00 do greet(name='Лариса') (last run: [never], next run: 2021-06-25 09:19:00), Every 1 day at 09:20:00 do greet(name='Лариса') (last run: [never], next run: 2021-06-25 09:20:00)]
[Every 1 day at 09:18:00 do greet(name='Лариса') (last run: [never], next run: 2021-06-26 09:18:00), Every 1 day at 09:19:00 do greet(name='Лариса') (last run: [never], next run: 2021-06-26 09:19:00), Every 1 day at 09:20:00 do greet(name='Лариса') (last run: [never], next run: 2021-06-25 09:20:00)]

标签: pythonschedule

解决方案


谢谢大家的帮助。我找到了这个解决方案

while True:
        with open("config.json") as config:
            data = json.load(config)
            if data["start"]:
                date = data["time"]
                now = datetime.datetime.now() 
                now = now.strftime('%H:%M')
                for i in date:
                    if i == now:
                        great(data["name"])
            time.sleep(1)

推荐阅读