zoukankan      html  css  js  c++  java
  • schedule定时任务出现问题 (大坑已填)!!

    因为python每次运行完,并不清除内存,nowtime一直不变,这导致了一个致命问题,使我的脚本一直运行失败,具体如下:

    我设置的是每隔30分钟登陆一次,代码如下

    if __name__ == "__main__":
                login()
    schedule.every(30).minutes.do(login)
    
    while True:
        schedule.run_pending()
        time.sleep(1)

    但是它每次运行返回的数据都是一样的
    我9点多第一次打开运行,半个小时后运行结果如下:

    [+]登录成功
    现在是北京时间:(2020-05-07 09:53:26.624833)
    LM003,“任务未开始”,任务时间:13
    LM006,“任务未开始”,任务时间:14
    LM007,“任务未开始”,任务时间:12
    LM005,“任务未开始”,任务时间:09
    [+]登录成功
    现在是北京时间:(2020-05-07 09:53:26.624833)
    LM003,“任务未开始”,任务时间:13
    LM006,“任务未开始”,任务时间:14
    LM007,“任务未开始”,任务时间:12
    LM005,“任务未开始”,任务时间:09

    原因是我在关键函数中加入了对比

    def indexlist():
        print("现在是北京时间:(%s)"%(now))
        for index in range(len(list2)):
            if((buylist2[index]['state'])=="0"):
                if(int(buylist2[index]['task_hour']) <= int(now.hour)):
                                    while True:
                        send(QQ)
                        if(json_data3['data']!='null'):
                            break
                    send_pic(****)
                else:
                    print ("{ID},“任务未开始”,任务时间:{tasktime}".format(ID = ***,tasktime = ***))
            else:
                print ("{ID},任务已完成".format(***))

    而我的now = datetime.datetime.now()是定义在login外的,所以每次运行一直不变,导致程序出现输出错误

    解决办法:将now = datetime.datetime.now()写入每半个小时login函数,并且每次运行完最后加上now=None清除内存

    def login():
        global now
        now = datetime.datetime.now()
        巴拉巴拉一大堆之后
          
    
        now=None

    About Me

    QQ 群:1094019526    tg 群:QQ 群里有

    联系我请加 QQ 好友 (1362449059),注明添加缘由

    文章内容来源于 TOM 的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

    本文版权所有,转载请标明出处,谢谢

    觉得有用请点个支持,谢谢! 弘扬开源精神,用爱发电!! Code changes the world!!!
  • 相关阅读:
    extjs4 数据实体模型
    WPF实现MDI窗体的方法
    WPF中图形表示语法详解(Path之Data属性语法
    Wpf DataGrid 数据绑定 排序 删除
    WPF: 使用TestApi模拟用户输入
    extjs4 事件处理
    WPF触发器
    XPath语法 在C#中使用XPath示例
    WPF 4 中DataGrid的模板列做双向数据绑定
    extjs4 标准面板
  • 原文地址:https://www.cnblogs.com/TOM666/p/12842918.html
Copyright © 2011-2022 走看看