小编Mik*_*e N的帖子

"火与忘记"python async/await

有时需要发生一些非关键的异步操作,但我不想等待它完成.在Tornado的协程实现中,您可以通过简单地省略yield关键字来"触发并忘记"异步功能.

我一直试图弄清楚如何使用Python 3.5中发布的新async/ await语法来"解雇" .例如,简化的代码段:

async def async_foo():
    print("Do some stuff asynchronously here...")

def bar():
    async_foo()  # fire and forget "async_foo()"

bar()
Run Code Online (Sandbox Code Playgroud)

但是会发生什么,bar()从不执行,而是我们得到运行时警告:

RuntimeWarning: coroutine 'async_foo' was never awaited
  async_foo()  # fire and forget "async_foo()"
Run Code Online (Sandbox Code Playgroud)

python python-asyncio python-3.5

86
推荐指数
4
解决办法
2万
查看次数

在龙卷风中"超时"请求的正确方法

我设法编写了一个相当愚蠢的bug,它会让我的一个请求处理程序运行一个非常慢的数据库查询.

有趣的一点是,我注意到即使很长时间围攻完成龙卷风仍然在通过请求(有时90年后)搅拌.(评论 - >我不是100%确定Siege的工作方式,但我很确定它关闭了连接..)

我的问题分为两部分: - 当客户端关闭连接时,Tornado会取消请求处理程序吗? - 有没有办法在Tornado中超时请求处理程序?

我通读了代码,似乎无法找到任何东西.即使我的请求处理程序在上面的错误中异步运行,待处理请求的数量也会增加到应用程序速度变慢的水平,最好关闭连接.

python tornado

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

标签 统计

python ×2

python-3.5 ×1

python-asyncio ×1

tornado ×1