pycharm编辑器重命名目录引发的生产事故

事情经过

我们的爬虫脚本是一直持续运行的,通过监听队列实现。然而,数据使用端反馈到我们2.27号提供的数据有错误,获取到的数据是最佳路径,而不是驾车路径。我刚开始对此表示差异,我们的代码已经跑了至少半年,在这半年期间,代码没有修改过数据处理逻辑,一直稳定运行。我正纳闷,一点也不想去打开项目工程,调试【出于对自己代码的完全自信与对调试旧代码的强烈抵触】。我正想通过其他方法去看看问题,但最后一想,最有可能出问题的,应该就是爬虫请求的url可能被更改,或者请求过后,目标网站重定向了我的请求,并响应了不是我想要的结果。我还是决定调试一下代码,看看能不能修复问题。

我打开项目代码,在构造url函数位置输出url,然后构造爬虫任务,运行起来,观察url的结果。结果十分可怕,我最终的结果是:https://xxxxxxxxx/htmls=!4m2!4m1!3e0 由于很长时间没有调试过这个代码,我天真的以为这个数据,没问题。但是出于多年处理数据的职业敏感,我还是在浏览器上打开了这个链接,看看有什么不同。结果是,这个链接对应的路径规划并不是需求里指定的驾车路径,而是目标网站提供的最佳路径,这个数据完全是错误的!!

我调取之前下载数据的示例链接,示例链接为:https://xxxxxxxxx/data=!4m2!4m1!3e0 为什么我最终请求的链接查询参数是htmls?这不符合常理,也不可能是我操作,究竟是什么原因?

我打开编辑器,找到拼接url与请求的python文件,调取更新历史,结果发现2.24日,我将的data字符串更新为htmls。我搜索了全部文件,所有配置文件,原来关键字是data,现在变为了htmls。而这个异常的代码已经稳定运行10天,我们没有任何人察觉。这是非常可怕的,在数据系统里,这个很有可能导致公司亏钱,属于生产失误,是要追究到我的!这个责任我还承担不起,只能抓紧时间修复问题,然后主动上报最近数据的异常,对于后续的数据,恢复正常生产。数据下游还有好几百号人在使用,考虑到这种危机,我开始一点一点将代码恢复。

我先停掉所有正在运行的爬虫服务,以免持续产生错误数据。然后将所有爬虫项目内使用到类似链接的配置文件与爬虫文件,将所有htmls字符串更新为data,同时增加请求链接日志,为后续可能存在的问题做好记录。我将所有代码修改后,提交代码部署到每台任务机器,然后恢复运行。

我下面开始找原因:

我列举了以下原因:

  1. 哪天我睡着了,把代码改了,准备跑路
  2. 玛德哪个狗改我代码,还这么熟悉我的代码逻辑,直接改关键位置,难以发现
  3. 编辑器出现了问题

我通过深思熟虑,主要是看了会儿抖音直播,看别人钓鱼。突然一惊,我突然想到,我们在删除目录内的文件时,编辑器会溯源,看看工程里面哪里用到了,然后将所有用到的位置提示给你,你可以选择do refactor直接替换,或者你逐个文件修改。我当时估计,我是直接按了回车,所以就全部被替换了。。。。

可怕,我以后都不敢这么干了。以后改代码,还是小心谨慎得好,文件命名删除啥的都需要多注意。

相关推荐
你才是向阳花17 小时前
如何用Python实现飞机大战小游戏
开发语言·python·pygame
草莓熊Lotso17 小时前
C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析
前端·网络·c++·人工智能·后端·python·功能测试
程序员爱钓鱼18 小时前
Python编程实战——Python实用工具与库:Pandas数据处理
后端·python·ipython
程序员爱钓鱼18 小时前
Python编程实战——Python实用工具与库:Numpy基础
后端·python·面试
程序员霸哥哥18 小时前
从零搭建PyTorch计算机视觉模型
人工智能·pytorch·python·计算机视觉
晚秋大魔王18 小时前
基于python的jlink单片机自动化批量烧录工具
前端·python·单片机
胖哥真不错18 小时前
Python基于PyTorch实现多输入多输出进行CNN卷积神经网络回归预测项目实战
pytorch·python·毕业设计·课程设计·毕设·多输入多输出·cnn卷积神经网络回归预测
程序员-小李18 小时前
基于PyTorch的动物识别模型训练与应用实战
人工智能·pytorch·python
闲人编程21 小时前
Python在网络安全中的应用:编写一个简单的端口扫描器
网络·python·web安全·硬件·端口·codecapsule·扫描器
Mr_Xuhhh1 天前
GUI自动化测试--自动化测试的意义和应用场景
python·集成测试