文档章节

tornado gen

hyhlinux
 hyhlinux
发布于 2016/12/07 22:39
字数 190
阅读 4
收藏 0
点赞 0
评论 0

1.Return 异常

class Return(Exception):
    """Special exception to return a value from a `coroutine`.

    If this exception is raised, its value argument is used as the
    result of the coroutine::

        @gen.coroutine
        def fetch_json(url):
            response = yield AsyncHTTPClient().fetch(url)
            raise gen.Return(json_decode(response.body))

    In Python 3.3, this exception is no longer necessary: the ``return``
    statement can be used directly to return a value (previously
    ``yield`` and ``return`` with a value could not be combined in the
    same function).

    By analogy with the return statement, the value argument is optional,
    but it is never necessary to ``raise gen.Return()``.  The ``return``
    statement can be used with no arguments instead.
    """
    def __init__(self, value=None):
        super(Return, self).__init__()        
        self.value = value
        # Cython recognizes subclasses of StopIteration with a .args tuple.
        self.args = (value,)

 

2.gen.corountine装饰器中捕获异常
        try:
            result = func(*args, **kwargs)
        except (Return, StopIteration) as e:        #捕获了Return异常
            result = _value_from_stopiteration(e)
        except Exception:
            future.set_exc_info(sys.exc_info())
            return future

3.使用方式,参考1

@gen.coroutine
        def fetch_json(url):
            response = yield AsyncHTTPClient().fetch(url)
            raise gen.Return(json_decode(response.body))

 


        else:    

            。。

© 著作权归作者所有

共有 人打赏支持
hyhlinux
粉丝 7
博文 132
码字总数 51777
作品 0
海淀
程序员
Tornado 3.0 版本发布

Tornado web server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件,著名的 Friendfeed 网站就是使用它搭建的。 Tornado 跟其他主流的Web服务器框架(主要是Pyt...

铂金小马
2013/03/30
5.4K
11
tornado常见的异步非堵塞写法

非堵塞和异步有什么区别? 非堵塞 在tornado的框架中非堵塞一般指得是网络I/O层面的socket数据接收模式(select或者epoll),不论用哪个模式,最终程序都会收到数据并处理数据(这个数据要么被...

极光火狐狸
2016/07/21
1K
2
tornado总结10-日志配置

tornado源代码分析 打开site-packages/tornado/log.py,最开头的注释文档说明了tornado的日志模块是直接和logging模块集成的 """Logging support for Tornado. Tornado uses three logger st...

能东棍
2016/11/28
434
0
Web服务器--Tornado

Tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,最早由Friendfeed开发。通过使用非阻塞IO,Tornado可以处理数以万计的开放连接,是long polling、WebSockets和其他需要...

匿名
2008/09/10
66K
8
ToRPC:一个双向RPC的Python实现

简介 ToRPC(Tornado + RPC) 是一个的基于Tornado IOLoop的异步TCP和双向通信的RPC的Python实现。ToRPC非常轻量级,性能优秀(尤其是在PyPy环境下)。 特性 异步 tcp 通信 异步、双向 rpc 地址...

toil
2015/11/07
0
3
Tornado 4.2 发布,Python Web 服务器

Tornado 4.2 发布, 更新内容如下: 向后兼容改进: SSLIOStream.connectand IOStream.starttls now validate certificatesby default. Certificate validation will now use the system CA ......

sikkx
2015/05/28
3K
5
python 实现文件上传下载

介绍 实现支持文件上传、下载、删除的api接口(支持多文件上传) 使用mongo 做为后端存储 支持异步 一.使用python tornado实现 python 版本 2.7 tornado版本 4.3 二.使用python flask实现 pyth...

Travler
2016/08/08
69
0
在pika中使用tornado协程

pika中的例子写的很差,充满了回调,看的人头痛,既不符合python的开发原则,也不符合tornado的coroutine风格。于是做了一个非常简单的wrapper: 这样,你就可以直接了。感觉直观,简单了很多...

崔钢
2016/07/30
59
0
从python协程理解tornado异步

博客原文地址:http://www.v2steve.com/2015/05/31/python/pytornadoasync/ 刚接触tornado时候最疑惑的问题就是tornado.gen.coroutine是怎么实现的。如何在代码中用同步格式实现异步效果。看...

__Steve__
2015/05/31
0
0
tornado异步非阻塞处理请求

【tornado模块】 主要模块 - FriendFeed 使用的基础 Web 框架,包含了 Tornado 的大多数重要的功能 - XHTML, JSON, URL 的编码/解码方法 - 对 的简单封装,使其更容易使用 - 基于 Python 的 ...

SibylY
2016/06/21
59
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring boot中swagger2使用

1.pom.xml中添加 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>......

说回答
9分钟前
0
0
tomcat虚拟路径的几种配置方法

tomcat虚拟路径的几种配置方法 一般我们都是直接引用webapps下面的web项目,如果我们要部署一个在其它地方的WEB项目,这就要在TOMCAT中设置虚拟路径了,Tomcat的加载web顺序是先加载 $Tomcat_ho...

Helios51
21分钟前
1
0
Mac 安装jupyter notebook的过程

MAC台式机 python:mac下自带Python 2.7.10 1.先升级了pip安装工具:sudo python -m pip install --upgrade --force pip 2.安装setuptools 工具:sudo pip install setuptools==33.1.1 3.安装......

火力全開
27分钟前
0
0
导航守卫解释与例子

“导航”表示路由正在发生改变。 正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。 记住...

tianyawhl
27分钟前
0
0
Java日志框架-logback配置文件多环境日志配置(开发、测试、生产)(原始解决方法)

说明:这种方式应该算是最通用的,原理是通过判断标签实现。 <!-- if-then form --> <if condition="some conditional expression"> <then> ... </then> </if> ......

浮躁的码农
41分钟前
1
0
FTP传输时的两种登录方式和区别

登录方式 匿名登录 用户名为: anonymous。 密码为:任何合法 email 地址。 授权登录 用户名为:用户在远程系统中的用户帐号。 密码为:用户在远程系统中的用户密码。 区别 匿名登录 只能访问...

寰宇01
42分钟前
0
0
plsql developer 配置监听(不安装oracle客户端)

plsql developer 配置监听(不安装oracle客户端)

微小宝
49分钟前
1
0
数据库(分库分表)中间件对比

本人的宗旨就是,能copy的,绝对不手写。 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索...

奔跑吧代码
53分钟前
2
0
Netty与Reactor模式详解

在学习Reactor模式之前,我们需要对“I/O的四种模型”以及“什么是I/O多路复用”进行简单的介绍,因为Reactor是一个使用了同步非阻塞的I/O多路复用机制的模式。 I/O的四种模型 I/0 操作 主要...

hutaishi
59分钟前
1
0
【2018.07.16学习笔记】【linux高级知识 20.16-20.19】

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

lgsxp
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部