小编JLT*_*hiu的帖子

在使用Gunicorn和Gevent运行Flask时,请求包含请求的非阻塞请求

我的Flask应用程序将收到一个请求,进行一些处理,然后向一个需要5秒钟响应的慢速外部端点发出请求.看起来使用Gevent运行Gunicorn将允许它同时处理许多这些慢速请求.如何修改下面的示例以使视图无阻塞?

import requests

@app.route('/do', methods = ['POST'])
def do():
    result = requests.get('slow api')
    return result.content
Run Code Online (Sandbox Code Playgroud)
gunicorn server:app -k gevent -w 4
Run Code Online (Sandbox Code Playgroud)

python gevent flask gunicorn python-requests

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

如何在python中使用像Flask这样的Klein接收上传的文件

设置Flask服务器时,我们可以尝试接收上传的文件用户

imagefile = flask.request.files['imagefile']
filename_ = str(datetime.datetime.now()).replace(' ', '_') + \
    werkzeug.secure_filename(imagefile.filename)
filename = os.path.join(UPLOAD_FOLDER, filename_)
imagefile.save(filename)
logging.info('Saving to %s.', filename)
image = exifutil.open_oriented_im(filename)
Run Code Online (Sandbox Code Playgroud)

当我查看Klein文档时,我已经看到http://klein.readthedocs.io/en/latest/examples/staticfiles.html,但这似乎是从webservice提供文件而不是接收已上传到Web服务的文件.如果我想让我的Klein服务器能够接收abc.jpg并将其保存在文件系统中,是否有任何文档可以指导我实现该目标?

python web-services klein-mvc

8
推荐指数
1
解决办法
802
查看次数

如何在Twisted Klein中异步执行代码?

我的python Twisted Klein Web服务中有两个函数:

@inlineCallbacks
def logging(data):
    ofile = open("file", "w")
    ofile.write(data)
    yield os.system("command to upload the written file")

@APP.route('/dostuff')
@inlineCallbacks
def dostuff():
    yield logging(data)
    print "check!" 
    returnValue("42")
Run Code Online (Sandbox Code Playgroud)

os.system("command to upload the written file")运行时,它会显示消息说"开始上传",然后"上传完成".我想使日志记录功能异步,以便在logging处理dostuff程序打印出"check!" 之后处理器中的处理.(我实际上希望在returnValue("42")之后进行处理,但是我认为这两者都使得日志记录功能异步?)

我认为yield语句会使它无阻塞,但似乎并非如此,"检查!" 始终在"开始上传"和"上传完成"后打印.我很感激,如果有人可以给我一些反馈意见,因为我是异步编码的新手并且暂时被阻止了...

python asynchronous web-services twisted klein-mvc

7
推荐指数
1
解决办法
1096
查看次数

我可以使用Android应用程序来跟踪用户活动吗?

我想知道是否可以编写一个Android应用程序,当它在后台运行时,它可以跟踪用户活动?(例如用户使用的其他应用程序,用户拨打的电话号码,用户的GPS位置,等)因为我不确定一个Android应用程序可以对其他应用程序作出反应,是否有人知道答案?谢谢

android

6
推荐指数
1
解决办法
4349
查看次数

BeautifulSoup无法解析网页?

我现在正在使用美丽的汤来解析网页,我听说它很有名,很好,但看起来效果不好.

这就是我做的

import urllib2
from bs4 import BeautifulSoup

page = urllib2.urlopen("http://www.cnn.com/2012/10/14/us/skydiver-record-attempt/index.html?hpt=hp_t1")
soup = BeautifulSoup(page)
print soup.prettify()
Run Code Online (Sandbox Code Playgroud)

我觉得这很简单.我打开网页并将其传递给beautifulsoup.但这就是我得到的:

Warning (from warnings module):

File "C:\Python27\lib\site-packages\bs4\builder\_htmlparser.py", line 149

"Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help."))

...

HTMLParseError: bad end tag: u'</"+"script>', at line 634, column 94

我认为CNN网站应该设计得很好,所以我不太清楚会发生什么.有没有人对此有所了解?

python parsing beautifulsoup

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

在python中使用Klein访问http post请求的json内容

我在python中有一个简单的http客户端发送http post请求,如下所示:

import json
import urllib2
from collections import defaultdict as dd
data = dd(str)
req = urllib2.Request('http://myendpoint/test')
data["Input"] = "Hello World!"
response = urllib2.urlopen(req, json.dumps(data))
Run Code Online (Sandbox Code Playgroud)

在Flask的服务器端,我可以定义一个简单的函数

from flask import request
@app.route('/test', methods = ['POST'])
def test():
    output = dd()
    data = request.json
Run Code Online (Sandbox Code Playgroud)

并且dataon服务器将data与客户端上的字典相同.

但是,现在我要转向Klein,所以服务器代码如下所示:

@app.route('/test', methods = ['POST'])
@inlineCallbacks
def test(request):
    output = dd()
    data = request.json <=== This doesn't work
Run Code Online (Sandbox Code Playgroud)

并且在Klein中使用的请求不支持相同的功能.我想知道有没有办法让我在Klein中获得json,就像我在Flask中获得它一样?感谢您阅读此问题.

python klein-mvc

4
推荐指数
1
解决办法
1172
查看次数

Errno 24:打开的文件太多了.但我不是在打开文件?

我正在使用treq(https://github.com/twisted/treq)从我的Web服务查询其他api.今天,当我对自己的服务进行压力测试时,它显示错误

twisted.internet.error.DNSLookupError: DNS lookup failed: address 'api.abc.com' not found: [Errno 24] Too many open files.

但问题是,我的整个代码我没有打开任何文件.我怀疑它可能是由api我查询失败或阻止我(api.abc.com)引起的,因为我的压力测试可能就像ddos到那个终点.在那种情况下,不应该像拒绝连接吗?我不知道为什么会有这个Too many open files错误.或者是由创建太多线程查询引起的?

python asynchronous twisted

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

如何查看其他国家/地区的Android应用下载次数?

我刚在美国谷歌上传了一个应用程序.我在日本的朋友说他下载了我的应用并留下了一些评论.但我在我的Developer Controller中看不到.仍为0下载,我的谷歌播放页面上没有评论是美国.有没有办法在其他国家/地区看到Google Play,并获得其他国家/地区的下载次数?谢谢.

android region google-play

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

无法在ArrayList中添加对象?

嗨,我正在尝试将一个对象添加到Arraylist中,我正在使用Java.但它并不像我预期的那样有效.

假设我们有一个类Sentence,所以代码看起来像

ArrayList<Sentence> result = new ArrayList<Sentence>();
for (int i =0; i<10;i++)
{
    Sentence s = new Sentence(i.toString(),i);
    //there is a string and an int in this Sentence object need to be set
    result.add(s); 
}
Run Code Online (Sandbox Code Playgroud)

上面的一个正常工作.但我希望加快我的代码,所以我尝试只新的一个obejct,代码变成:

ArrayList<Sentence> result = new ArrayList<Sentence>();
Sentence s = new Sentence(" ",0);
for (int i =0; i<10;i++)
{
    s.setString(i.toString());
    s.setInt(i);
    result.add(s); 
}
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,我的结果将变为空.我想我确实改变了对象中的内容s,但我不知道为什么它在这期间不起作用result.add(s).

非常感谢你的回复.

java optimization

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

如何删除多层括号内的文本python

我有一个 python 字符串,需要删除括号。标准方法是使用text = re.sub(r'\([^)]*\)', '', text),因此括号内的内容将被删除。

然而,我刚刚发现了一个看起来像的字符串(Data with in (Boo) And good luck)。使用我使用的正则表达式,它仍然会剩下And good luck)一部分。(我知道我可以扫描整个字符串并尝试保留和 的数量计数器),当数字平衡时,索引(和的位置)并删除中间的内容,但是有没有更好/更干净的方法来做到这一点?它不需要是正则表达式,无论它能起作用都很棒,谢谢。

有人询问预期结果,所以这就是我的期望:

Hi this is a test ( a b ( c d) e) sentence

替换后我希望它是Hi this is a test sentence, 而不是Hi this is a test e) sentence

python regex text

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