因为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'])==""):
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 的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

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

schedule定时任务出现问题 (大坑已填)!!的更多相关文章

  1. spring schedule定时任务(一):注解的方式

    我所知道的java定时任务的几种常用方式: 1.spring schedule注解的方式: 2.spring schedule配置文件的方式: 3.java类继承TimerTask: 第一种方式的实现 ...

  2. spring boot项目中处理Schedule定时任务

    项目中,因为使用了第三方支付(支付宝和微信支付),支付完毕后,第三方支付平台一般会采用异步回调通知的方式,通知商户支付结果,然后商户根据通知内容,变更商户项目支付订单的状态.一般来说,为了防止商户项目 ...

  3. python3 schedule定时任务

    import time import schedule # cd C:\Python36-32\Scripts pip install schedule # py文件名字不能叫schedule,否则会 ...

  4. 模块 schedule 定时任务

    schedule模块实现定时任务 2018-08-29 15:01:51 更多 一.官方示例 import schedule import time def job(): print("I' ...

  5. [root-me](web-client)write up 一个大坑怎么填啊

    root-me web-client writeup 地址:www.root-me.org HTML - disabled buttons 打开网页发现按钮不能按,查看源代码,有 'disabled' ...

  6. spring schedule定时任务(二):配置文件的方式

    接着上一篇,这里使用spring配置文件的方式生成spring定时任务. 1.相应的web.xml没有什么变化,因此便不再罗列.同样的,相应的java代码业务逻辑改动也不大,只是在原来的基础上去掉@C ...

  7. azkaban使用--schedule定时任务

    1.schedule azkaban的schedule内部就是集成的quartz,而 quartz语法就是沿用linux crontab,crontab可照本文第2点 此处以此project(azka ...

  8. 【tmos】spring boot项目中处理Schedule定时任务

    我的代码 /** * Author:Mr.X * Date:2017/10/30 14:54 * Description: */ @Component @Configurable @EnableSch ...

  9. springboot使用schedule定时任务

    定时任务一般会存在中大型企业级项目中,为了减少服务器.数据库的压力往往会采用时间段性的去完成某些业务逻辑.比较常见的就是金融服务系统推送回调,一般支付系统订单在没有收到成功的回调返回内容时会持续性的回 ...

随机推荐

  1. 官方解读:Salesforce线上考试新政与福利

    随着疫情在世界范围内的迅速蔓延,Salesforce推出了一系列的线上认证考试改进方案,方便Salesforce从业者在疫情阶段也能够安全.便利地参与考试,今天让我们一起来捋一捋那些,和我们密切相关的 ...

  2. 多线程高并发编程(5) -- CountDownLatch、CyclicBarrier源码分析

    一.CountDownLatch 1.概念 public CountDownLatch(int count) {//初始化 if (count < 0) throw new IllegalArg ...

  3. E - Max Sum Plus Plus Plus HDU - 1244 (线性区间DP)

    题目大意:  值得注意的一点是题目要求的是这些子段之间的最大整数和.注意和Max Sum Plus Plus这个题目的区别. 题解: 线性区间DP,对每一段考虑取或者不取.定义状态dp[i][j]指的 ...

  4. SQLi —— 逗号,空格,字段名过滤突破

    前言 出于上海大学生网络安全大赛的一道easysql,促使我积累这篇文章.因为放了大部分时间在Decade和Babyt5上,easysql一点没看,事后看了WP,发现看不懂怎么回事,于是了解了一番. ...

  5. 手写一个简单的HashMap

    HashMap简介 HashMap是Java中一中非常常用的数据结构,也基本是面试中的"必考题".它实现了基于"K-V"形式的键值对的高效存取.JDK1.7之前 ...

  6. ES6系列-什么是ES6?新手应该怎么理解

    ECMAScript 是什么 很多初学者都很困惑,ECMAScript是什么?它跟JavaScript有什么关系? 大家注意到了吗?从题目中我们就可以看出来了,ECMAScript是JavaScrip ...

  7. web.config 301

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.we ...

  8. 如何用hugo 搭建博客

    1,Hugo 简介 搭建个人博客有很多开源的博客框架,我们要介绍的框架叫作Hugo.Hugo 是一个基于Go 语言的框架,可以快速方便的创建自己的博客. Hugo 支持Markdown 语法,我们可以 ...

  9. Shodan使用简述

    申明 本文只做相关介绍,使用者应当严格自律,承诺遵守法律法规     Shodan,一款互联网下的可怕搜索引擎.它的可怕之处在于Shodan可以搜索各种在线的网络设备.比如:摄像头.路由器.打印机.服 ...

  10. 【Django】runserver 0.0.0.0:0 后,究竟发生了什么

    WSGI协议 Django是遵循WSGI协议设计的 WSGI协议主要包括server和application两个部分: WSGI server:负责从客户端接收请求,将request转发给applic ...