python's tornado的异步xml-rpc和fastprc客户端

tornado-fastrpc的Python项目详细描述


非阻塞XML-RPC和FastRPC(请参见https://github.com/seznam/fastrpc) Python龙卷风的客户。如果fastrpc不可用,则仅xml-rpc 将支持协议。Python2.7和Python3.4(或更高版本)是 支持。

安装

要求:

  • pycurl
  • 龙卷风3.2或更高

可选要求:

  • fastrpclibfastrpc+fastrpcpython的模块)

安装和测试:

python setup.py install
python setup.py test

构建debian jessie包(需要dpkg-buildpackage+lintian 以及debian/control文件中Build-Depends选项中的依赖项。

python setup.py bdist_deb

ussage

proxy = ServerProxy('http://example.com/RPC2:8000',
                    connect_timeout=5.0,
                    timeout=5.0,
                    use_binary=True)


class BazHandler(tornado.web.RequestHandler):

    @tornado.gen.coroutine
    def get(self):
        try:
            res = yield proxy.getData(123)
        except Exception as e:
            self.write('Error: {}'.format(e))
        else:
            self.write('Data: {}'.format(res.value))


class BarHandler(tornado.web.RequestHandler):

    @tornado.gen.coroutine
    def get(self):
        res = yield proxy.getData(123, quiet=True)
        if res.success:
            self.write('Data: {}'.format(res.value))
        else:
            self.write('Error: {}'.format(res.exception))

文件

服务器代理类

classtornado_fastrpc.client.serverproxyuri, 连接超时=5.0,超时=5.0,使用二进制=false,用户代理=none, keep_alive=false,使用_http10=true,http_proxy=none,max_clients=10

Async FastRPC client for Tornado, tt uses ^{tt5}$ backend. Manages communication with a remote RPC server.

  • url<string>
    URL address
  • connect_timeout<float>
    Timeout for initial connection in seconds
  • request_timeout<float>
    Timeout for entire request in seconds
  • use_binary<bool>
    Force binary protocol
  • user_agent<string>
    User-Agent string
  • keep_alive<bool>
    Allow keep-alive connection
  • use_http10<bool>
    Force HTTP/1.0 protocol instead of HTTP/1.1
  • http_proxy<string>
    HTTP proxy, eg. http://user:pass@example.com:80
  • max_clients<int>
    Size of the Curl’s connection pool

结果对象

classtornado_fastrpc.client.Resultsuccess,value,exception

FastRPC调用的返回类型。包含属性:

  • success<bool>
    ^{tt6}$ if operation succeeded, else ^{tt7}$
  • value
    contains returning value if operation succeeded, else ^{tt8}$
  • exception<bool>
    contains instance of the exception if operation failed, else ^{tt8}$

故障对象

classtornado_fastrpc.client.faultfaultcode,faultstring

Exception, indicates an XML-RPC error.

  • faultCode<string>
    Error code
  • faultString<string>
    Error message

许可证

3条款BSD

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List