最后更新于 .

还是和往常一样,没啥主题,就是记录下这段时间遇到的技术问题,分享一下。

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,就是这样~

Pingbacks

Pingbacks已打开。

Trackbacks

引用地址

评论

  1. shiny

    shiny on #

    正好我也遇上这个问题了,一开始关键词不对,后来看到这篇日志就解决了。
    一开始restart没反应,完整得stop再start下uwsgi就解决了。

    Reply

  2. wuuuuu

    wuuuuu on #

    我也遇到了这个问题,搞了好久,感谢分享~

    Reply

发表评论