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直接替换,或者你逐个文件修改。我当时估计,我是直接按了回车,所以就全部被替换了。。。。

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

相关推荐
攀小黑16 分钟前
IDEA 24.1 could not autowire. No beans of ‘***‘ type found. 取消 某个类型的 警告
java·ide·intellij-idea
chusheng184021 分钟前
如何使用 Python 的 sqlite3 模块操作 SQLite 数据库?
数据库·python·sqlite
计算机编程-吉哥24 分钟前
计算机毕业设计 基于Python的美术馆预约系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
python·django·毕业设计·毕业论文·计算机毕业设计·计算机毕业设计选题·美术馆预约系统
aroc_lo1 小时前
DELPHI编译软件时带上当前IDE的版本号
ide·delphi
追着梦的码怪1 小时前
简单水印通过python去除
python·opencv
William数据分析1 小时前
[Python数据可视化]Plotly Express: 地图数据可视化的魅力
python·信息可视化·plotly·数据分析
William数据分析1 小时前
[Python数据可视化]探讨数据可视化的实际应用:三个案例分析
python·信息可视化·数据分析·数据可视化
MAR-Sky1 小时前
在python爬虫中xpath方式提取lxml.etree._ElementUnicodeResult转化为字符串str类型
爬虫·python·xpath·数据类型转换
2301_796982141 小时前
网页打开时,下载的文件svg+xml类型有什么作用?
xml·python·html5
_.Switch1 小时前
Python Web 架构设计与性能优化
开发语言·前端·数据库·后端·python·架构·log4j