还是和往常一样,没啥主题,就是记录下这段时间遇到的技术问题,分享一下。
1. 在javascript中实现简单的模板替换
最近搞了一下js,最不习惯的就是字符串生成都要用字符串拼装或者join的方式,所以尝试一下看能否实现简单的模板替换,效果还不错。
function str_format(str, obj) { return str.replace(/\{\s*(\w+)\s*\}/g, function(_i, _1) { return obj[_1] != null ? obj[_1] : ''; }); };
很多朋友会说性能差一些,可能确实如此,不过对我来说,相比编写的舒适来说,这点性能差别实在无足轻重了。
2. uwsgi报readv() faild
用uwsgi+nginx搭建的server,发现当用post请求时,会返回数据超时。查了一下uwsgi的error.log:
9825#0: *745262 readv() failed (104: Connection reset by peer) while reading upstream, client: 121.14.96.125
后来在网上搜了一下文档: http://comments.gmane.org/gmane.comp.python.wsgi.uwsgi.general/1021
其解释说解决方案有两种:
在uwsgi执行参数上增加:
--pep333-input --post-buffering 4096
试了一下,只有第二种有效,所以由于google了一下命令的具体含义:
post-buffering 打开http body缓冲, 如果HTTP body的大小超过指定的限制,那么就保存到磁盘上.
参考链接: http://simple-is-better.com/news/301
OK,就是这样~
shiny on #
正好我也遇上这个问题了,一开始关键词不对,后来看到这篇日志就解决了。
一开始restart没反应,完整得stop再start下uwsgi就解决了。
Reply
wuuuuu on #
我也遇到了这个问题,搞了好久,感谢分享~
Reply