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

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

相关推荐
写代码的【黑咖啡】9 小时前
Python中的JSON处理(标准库)
开发语言·python·json
梨子串桃子_16 小时前
推荐系统学习笔记 | PyTorch学习笔记
pytorch·笔记·python·学习·算法
文言一心17 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
诗词在线18 小时前
中国古代诗词名句按主题分类有哪些?(爱国 / 思乡 / 送别)
人工智能·python·分类·数据挖掘
高锰酸钾_18 小时前
机器学习-L1正则化和L2正则化解决过拟合问题
人工智能·python·机器学习
天天睡大觉18 小时前
Python学习11
网络·python·学习
智航GIS18 小时前
11.11 Pandas性能革命:向量化操作与内存优化实战指南
python·pandas
写代码的【黑咖啡】19 小时前
Python中的Selenium:强大的浏览器自动化工具
python·selenium·自动化
抠头专注python环境配置19 小时前
解决Windows安装PythonOCC报错:从“No module named ‘OCC’ ”到一键成功
人工智能·windows·python·3d·cad·pythonocc