1.遇到问题:
①、服务器连接数太多导致服务器挂掉;
②、脚本运行占用内存太高导致脚本被kill,导致已经运行成功的部分无法保存,最终也无法回滚。
2.解决方法:
①、针对问题①将服务迁移到新机器上,并添加CPU、内存等资源监控,添加进程监控;
②、针对问题②提升代码的健壮性,每运行成功一部分就写入磁盘,即使脚本被kill或者是服务器挂掉都可以保证前面一部分已经保存磁盘;
③、用shell脚本启动并监控python进程执行情况;
3.思考与学习:
①代码实现上一定要考虑量级的增加对程序的影响,本次就是随着接口调用量不断增加到5万或者更多条,在这个过程中产生内存爆满;
②对机器内存、CPU的监控、对运行进程的监控、对脚本运行的监控等及时获取问题,可以第一时间及时修复,降低损失;
③对脚本运行的监控:
方法一:通过脚本定时扫描程序日志,确认日志已经显示关键字,eg:success;
方法二:通过shell脚本启动python脚本,并且根据脚本执行后的返回值判断该程序成功与否的状态;
方法三:使用python包atexit在进程停止或者被kill时候调用报警
④写脚本一定要保证监控全面一些,有时候明知道有的地方非常重要,但就是凭感觉想:不会出问题,这里就不加监控了,有一个好的代码习惯;