Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

因我而起的生产事故

逆袭之路666 2019-01-23 16:01:00 阅读数:207 评论数:0 点赞数:0 收藏数:0

首先,祝大家新年快乐!应该陆陆续续开始踏上了回家的征程吧!

生产事故

产品上线一段时间之后,技术支持反馈客户现场一个进程总是挂掉或者不干活!最开始不紧不慢的查找问题,后来老大很生气说:生产事故很严重,你们居然不重视!成立了一个应急小组,专门解决此问题,其中包括我!

  事故原因

经过2、3天没日没夜的艰苦奋斗,终于找到进程挂掉的原因,问题因我而起。大约去年8月,做一个项目,与大数据对接,把数据推给它,然在加上了推送部分的代码,最开始那个模块是没有日志的,然后给加上了日志打印,当时也没考虑那么多,多线程环境,那个函数是线程不安全的,然后高并发环境,会造成进程挂掉!

  问题分析

高并发环境下,主要涉及两方面问题:

1、一个线程关闭了一个文件,另一个线程以为文件还是打开的,继续往文件里写数据,这样会导致进程挂掉(函数对线程是否安全!)

2、多线程环境共享全局变量,会造成数据混乱;alarm函数产生的SIGALRM信号,无法估算时间,此处理不严谨(最好不要在线程中用信号)。

解决问题

解决方法

  1. 在进程最开始打印日志,或不打印日志
  2. 移动代码位置,在正确位置修改代码

加班到11点,把这部分代码重新修改了!

之后,老大找我谈话:一个优秀程序员必须经历各种问题和bug,才能成长;还有以后修改问题,要谨慎!并没有很严厉的批评,但心里还是很难受!有人说过:如果跟着一个好老大,就好好地干几年!

总结

从小就不怎么犯错,犯过一个错,会很内疚!可能这个问题会伴随整个职业生涯,督促自己成长!

1、谨慎!不管对公司或其它怎么样?但一定要对自己写的每一行代码负责;要多去思考为啥之前没有日志?所以要谨慎!公司并没有奖惩措施,努力工作也没什么奖励,犯错也不会狠狠批评或扣工资之类的,不知道这样是好是坏?

2、谦虚学习!还有很多东西要学习!一定要谦虚学习!之前犯错可能会选择逃避,但这次很勇敢发邮件承认错误说明原因!

   最后,希望对大家能有帮助,大家加油!

 

版权声明
本文为[逆袭之路666]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/liudw-0215/p/10309265.html