草庐IT

Asynchronous

全部标签

python - Tornado 框架。类型错误 : 'Future' object is not callable

我从前一段时间开始学习Tornado框架。我遇到了没有经验的用户缺乏文档的问题,并且还检查了asyncio模块文档。所以问题是,我在asyncio中有一些简单的代码:importasyncio@asyncio.coroutinedefcompute(x,y):print("Compute%s+%s..."%(x,y))yieldfromasyncio.sleep(1.0)returnx+y@asyncio.coroutinedefprint_sum(x,y):result=yieldfromcompute(x,y)print("%s+%s=%s"%(x,y,result))loop=a

python - 执行非阻塞请求? - Django

我最近一直在玩其他框架,比如NodeJS。我喜欢返回响应的可能性,并且仍然能够进行进一步的操作。例如defview(request):do_something()returnHttpResponse()do_more_stuff()#notpossible!!!也许Django已经提供了一种在返回请求后执行操作的方法,如果是这样的话那就太好了。非常感谢您的帮助!=D 最佳答案 不是开箱即用,因为您已经从方法中返回。你可以使用类似Celery的东西这会将do_more_stuff任务传递到队列中,然后让它在http请求/响应流之外运行

python - Tornado 和 Python 3.x

我很喜欢Tornado我想将它与Python3一起使用,尽管它是为Python2.5和2.6版编写的。不幸的是,该项目的源代码似乎没有附带测试套件。如果我理解正确的话,它的WSGI部分将不会那么容易移植,因为它的规范还没有为Python3yet(?)做好准备。,但我对Tornado的异步功能很感兴趣,所以WSGI兼容性不是我主要关心的问题,即使它会很好。基本上我想知道在尝试移植时要研究/注意什么,或者是否已经有移植/fork(我无法使用谷歌或浏览github找到任何东西,尽管我可能错过了一些东西). 最佳答案 首先,我想为一个过时的

javascript - 事件/异步语言列表

我正在开发一个系统,从一开始就必须非常可扩展。我已经开始研究/尝试使用异步/事件方法来编写服务器端代码。我玩过ruby​​的EventMachine和node.js。EventMachine很酷,但没有我需要的异步文件I/O。界面也有点奇怪。Node.js很棒,但它是……呃……它是javascript。更大的StackOverflow社区可以通过列出其他具有强大异步支持的语言来帮助我吗?要获得资格,该语言需要同时支持闭包并具有用于异步文件io、http等的库。如果有像node.js这样的东西是用比javascript更强大的语言编写的,那就太好了。口齿不清?Python扭曲了,对吧?

python - 同步与异步

我试图理解Tornado文档介绍页面上提供的基本示例。它有2个代码块。同步的对我来说很好,我理解它。但是异步的是我无法理解的。同步fromtornado.httpclientimportHTTPClientdefsynchronous_fetch(url):http_client=HTTPClient()response=http_client.fetch(url)returnresponse.body异步fromtornado.httpclientimportAsyncHTTPClientdefasynchronous_fetch(url,callback):http_client=

python - 是否可以在独立的 C 中实现 Python yield 功能?

我最近在Python(以及JavaScript)中遇到了yield关键字-我知道这主要用于生成器模式,但语言结构似乎用于异步函数我的兴趣所在。在异步函数中,它可能仅充当语法糖,我知道有其他模式可以实现相同的效果-但我喜欢它-非常喜欢!我想知道我是否可以在C中做类似的事情(即使使用内联汇编)。我遇到了一个使用线程的Java实现https://github.com/mherrmann/java-generator-functions我或多或少可以在C中实现。但是,这不是一个独立的实现,我的兴趣纯粹是一个独立的实现。对于C协程(http://www.chiark.greenend.org.u

python - get_result() 是 Google App Engine 中对 put_async() 的必需调用吗

随着GAE1.5.0的新版本,我们现在可以轻松地进行异步数据存储调用。我们是否需要在调用后调用get_result()'put_async'?例如,如果我有一个名为MyLogData的模型,我可以只调用:put_async(MyLogData(text="MyText"))就在我的处理程序没有调用匹配的get_result()就返回之前?在将结果发送给客户端之前,GAE是否会自动阻止任何挂起的调用?请注意,我不太关心处理错误情况。即,我不介意其中一些看跌期权是否失败。 最佳答案 我认为没有任何确定的方法可以知道是否需要get_res

python - get_result() 是 Google App Engine 中对 put_async() 的必需调用吗

随着GAE1.5.0的新版本,我们现在可以轻松地进行异步数据存储调用。我们是否需要在调用后调用get_result()'put_async'?例如,如果我有一个名为MyLogData的模型,我可以只调用:put_async(MyLogData(text="MyText"))就在我的处理程序没有调用匹配的get_result()就返回之前?在将结果发送给客户端之前,GAE是否会自动阻止任何挂起的调用?请注意,我不太关心处理错误情况。即,我不介意其中一些看跌期权是否失败。 最佳答案 我认为没有任何确定的方法可以知道是否需要get_res

python - 如何从python中的异步方法返回值?

我有以下flask应用程序:asyncdefrun():conn=awaitasyncpg.connect(db_url)values=awaitconn.fetch('''SELECT...FROM...WHERE...;''')awaitconn.close()@app.route('/')deftest():loop=asyncio.get_event_loop()res=loop.run_until_complete(run())returnjson.dumps([dict(r)forrinres])if__name__=='__main__':app.run()当我运行这段代

python - 如何从python中的异步方法返回值?

我有以下flask应用程序:asyncdefrun():conn=awaitasyncpg.connect(db_url)values=awaitconn.fetch('''SELECT...FROM...WHERE...;''')awaitconn.close()@app.route('/')deftest():loop=asyncio.get_event_loop()res=loop.run_until_complete(run())returnjson.dumps([dict(r)forrinres])if__name__=='__main__':app.run()当我运行这段代