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

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

相关推荐
热爱生活的五柒33 分钟前
vscode左边打开文件后会覆盖上一个打开的文件,有什么不覆盖的方法
ide·vscode·编辑器
wu_jing_sheng037 分钟前
Python中使用HTTP 206状态码实现大文件下载的完整指南
开发语言·前端·python
程序员大雄学编程1 小时前
「用Python来学微积分」2. 函数图像的变换
python·数学·微积分
Q26433650232 小时前
【有源码】基于Python与Spark的火锅店数据可视化分析系统-基于机器学习的火锅店综合竞争力评估与可视化分析-基于用户画像聚类的火锅店市场细分与可视化研究
大数据·hadoop·python·机器学习·数据分析·spark·毕业设计
unicrom_深圳市由你创科技2 小时前
工业上位机,用Python+Qt还是C#+WPF?
python·qt·c#
njsgcs2 小时前
json转excel python pd
python·json·excel·pd
一晌小贪欢2 小时前
Python爬虫第7课:多线程与异步爬虫技术
开发语言·爬虫·python·网络爬虫·python爬虫·python3
yanxing.D4 小时前
OpenCV轻松入门_面向python(第六章 阈值处理)
人工智能·python·opencv·计算机视觉
JJJJ_iii5 小时前
【机器学习01】监督学习、无监督学习、线性回归、代价函数
人工智能·笔记·python·学习·机器学习·jupyter·线性回归
Python图像识别8 小时前
71_基于深度学习的布料瑕疵检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo