相关疑难解决方法(0)

Flask在从请求中检索发布数据时变慢了吗?

我正在编写使用json数据接受POST请求的flask应用程序.我注意到基于传递给应用程序的数据大小,响应时间存在巨大差异.调试后,我将问题缩小到我从请求对象检索json数据的行.值得注意的是,测试是在烧瓶开发服务器上完成的.

start = time.time()
resp = json.dumps(request.json)
return str(time.time() - start)
Run Code Online (Sandbox Code Playgroud)

我计时这行和1024(可能不是巧合)的数据和较少的字符,这需要0.002s,超过1024超过1秒!这里发生了什么?这是开发服务器的限制吗?

编辑:通过request.form.get('somedata')获取POST数据同样的事情,内容长度超过1024

编辑:我无法复制Apache提供的相同示例的问题

编辑: 我开始深入研究Werkzeug模块,发现self._read(to_read)在从BaseHTTPRequestHandler传递的wsgi.py模块中读取响应消息时发生缓慢.还是不知道为什么这么慢.


这里是环境细节:Ubuntu - 10.04 Python - 2.6.5 Flask - 0.9 Werkzeug - 0.8.3

python json werkzeug flask

25
推荐指数
1
解决办法
5017
查看次数

从angularjs加载REST资源时,等待时间非常长

我正在构建一个前端,正在访问一个flask/python RESTful API.我正在使用AngularJS v1.2.16.

出于某种原因,在加载REST资源之前需要花费大量时间,大部分时间都在等待.我的理解是"等待"是衡量第一个字节的时间 - 我的所有服务都在本地运行(前端,API和数据库).

Angular,API和Mongo DB都在本地运行.

鉴于服务全部在本地运行,我不知道如何调试它.有没有人有关于在哪里看的提示?我检查了所有方法,它们运行得非常快(每个REST调用不到100毫秒).当我使用邮递员时,API会立即返回.

任何想法如何修复等待,只有在通过angular加载RESTful资源时才会出现这种情况.角度$ http get请求非常简单:

myAppControllers.controller('ManageCtrl', ['$scope', '$http',
    function($scope, $http) {
        $http({
            url: 'http://127.0.0.1:5000/v1/domains/',
            method: "GET",
            headers: { 'Content-Type': 'application/json' },
        }).
        success(function(data, status, headers, config) {
            console.log('login successful');
            console.log(status);
            console.log(data);
        }).
        error(function(data, status, headers, config) {
            console.log('login failed');
        });
    }]);
Run Code Online (Sandbox Code Playgroud)

编辑:

  • 该问题仅出现在Google Chrome中,常规模式.
  • 使用隐身模式时,GET请求很快.

python flask google-chrome-devtools angularjs flask-restful

17
推荐指数
2
解决办法
1万
查看次数

烧瓶应用偶尔挂

我一直在使用Flask应用程序,它使用Twilio处理SMS消息,将它们存储在数据库中,并通过JSONP GET请求提供对前端的访问.我已经使用supervisord对它进行了守护,这看起来效果很好,但每隔几天它就会开始挂起(即所有请求永远挂起或超时)我必须重新启动进程.(我也试过简单地用nohup运行它,但同样的问题.)我怀疑sqlite3偶尔会阻塞,但我最近的测试是写一个不涉及数据库访问的请求方法,那是超时的太.我非常困惑 - 希望你看到类似的东西或者知道可能导致这种情况的原因.

相关的代码可以在这里找到,它目前正在我的VPS上运行(并且已经停止了,截至本文)在mattnichols.net:6288

谢谢!

更新:您认为这可能是Flask的开发服务器的问题吗?我愿意相信,我的包裹与龙卷风(或类似的东西)的应用程序可以解决这个问题,但我也更长的时间运行其他的东西,而无需使用开发服务器的问题.

python flask

13
推荐指数
1
解决办法
6937
查看次数