经验: 代码部署,cron脚本执行结果还是老代码问题

今天遇到一个问题,因为运维相关的需求,需要停写线上的某个服务,代码里全部都做了停写,但代码上线部署后,问题出现了:

竟然还有数据往服务里写!

这就比较玄幻了,查了下所有的代码,发现该停的地方确实都停了,为什么呢?

最终经排查,确定原因:

cron脚本执行时,会将代码拉入内存,执行期间,读的都是内存中的代码,此时如果你更新了代码,但cron执行的实际还是老的代码,直至脚本执行完毕下一次再次启动才会执行新代码。

同理,一些daemon脚本服务也是一样的道理,上完代码后,需要手动kill重新启动才可以。

0 评论
最新
最旧 最多投票
内联反馈
查看所有评论
滚动至顶部