我有一个程序,每5分钟执行一系列HTTP请求。这是一个非常简化的版本,因此您可以理解:
from time import sleep
class Scanner:
def perform_scan(self):
self.log("Scanning...")
make_blocking_request()
# ... more HTTP requests, logging of some strings, writing to DB...
if __name__ == '__main__':
scanner = Scanner()
counter = 0
while True:
scanner.perform_scan()
counter += 1
scanner.log('Pause #', counter)
sleep(300)
程序调用perform_scan
,然后休眠5分钟。奇怪的是,当我不看终端机的时候,剧本有点。。。暂停执行。下面是一个示例日志,向您展示我的意思:
2018-08-04 20:17:38 DESKTOP-VK5JO51 Scanner.py[2568] INFO Pause # 13
2018-08-04 20:22:38 DESKTOP-VK5JO51 Scanner.py[2568] INFO Scanning...
2018-08-04 20:22:39 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 20:22:40 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 20:22:41 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 20:22:43 DESKTOP-VK5JO51 Scanner.py[2568] INFO Pause # 14
2018-08-04 20:27:43 DESKTOP-VK5JO51 Scanner.py[2568] INFO Scanning...
2018-08-04 21:19:17 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:25 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:25 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:26 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:27 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:29 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:29 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:31 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:31 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:32 DESKTOP-VK5JO51 Scanner.py[2568] INFO Some string
2018-08-04 21:19:35 DESKTOP-VK5JO51 Scanner.py[2568] INFO Pause # 15
看到2018-08-04 20:27:43
和2018-08-04 21:19:17
之间的断点了吗?事情是这样的:
21:19
时,我在屏幕上看到了2018-08-04 20:22:43 DESKTOP-VK5JO51 Scanner.py[2568] INFO
Pause # 14
ctrl-c
2018-08-04 20:27:43 DESKTOP-VK5JO51 Scanner.py[2568] INFO Scanning...
出现这很奇怪,原因很多。第一,ctrl-c
没有停止脚本执行。第二,2018-08-04 20:27:43
处的日志仅在我在21:19
左右击键之后出现。最后,我不明白我的ctrl-c
是如何让脚本恢复活力的,因为它没有听用户输入或类似的东西
现在您可能会认为这是一些屏幕缓冲问题。但是应用程序将其请求的结果保存在数据库中。数据库中的条目与上面的日志一致:在20:27
和21:19
期间,数据库中没有保存任何内容
有人知道发生了什么事吗
目前没有回答
相关问题 更多 >
编程相关推荐