《实况炒股》每天都有严重的bug,让我深感压力,寝食难安。你可以想象一下,如果正在运营着的运营商的基站突然坏掉了,计费系统又出故障了,用户打不了电话,还被乱扣钱,用户怎能不暴跳如雷?《实况炒股》也一样,如果在交易时间,用户交易不了,或者用户交易的股票无缘无故多出或没了,用户不生气才怪。
用户很生气,后果很严重。
最近三天的睡眠时间:
02.08 凌晨5点多睡的
02.09 凌晨3点多睡的
02.10 凌晨2点多睡的
Bug1:买入委托失效都会使得股票数量变多,卖出委托失效会使得可用资金变多。
原因:15:00后的成交算法少考虑了委托实效的因素,在2月8日晚上夜深人静走查代码发现的。
解决:加入委托失效的处理分支就好了。
Bug2:解决委托失效后,依然存在股票数量或资金变多的问题。
原因:同时并发有多个请求处理的req,函数的可重入性导致了多次处理同一应该只处理一次的股票。
解决:将多个事件分开处理,期中系统的单独运行,确保同一时间只有一个系统req发过来。这方法很笨,但效果还可以,暂时先这样吧。后续在别的app上尝试加锁等方案(GAE的datastore不支持locks)。
bug3: 交易时间内,买和卖都不能成交。
原因:第一次使用memcache,不知道哪里出错了,反正交易状态的标志位写错了。
解决:去掉memcache,还是用状态机来吧,反正系统守护进程只有一个。
系统似乎渐渐稳定了一些。我觉得还是要顶住压力,毕竟刚开始嘛,解决bug就好,用户流失就流失吧。通过用户的测试,我才好改进啊。现在用户走了,如果我把产品做好,还是有新的用户来的。
天天都有严重的bug,ft
天天都有严重的bug,ft
...