zerorpc-python官方入门

2023-05-16

原文地址:http://www.zerorpc.io/

一个易于使用的,直观的,跨语言的RPC

zerorpc是一个在服务端进程上提供分布式通信的轻量级的、可靠的跨语言的库。它基于ZeroMQ和MessagePack。提供流式相应(streamed response)——就像python的生成器(generators)——这让zerorpc不仅仅是个典型的RPC引擎。内置心跳包、超时监测以及从失败请求中恢复。自我修复能力、第一类异常以及命令行工具让debug也变得极其简单。

安装

pip install zerorpc

HelloWorld

Server.py

import zerorpc

class HelloRPC(object):
    def hello(self, name):
        return "Hello, %s" % name

s = zerorpc.Server(HelloRPC())
s.bind("tcp://0.0.0.0:4242")
s.run()

Client.py

import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")
print c.hello("RPC")

流式相应(Streaming Responses)

Server.py

import zerorpc

class StreamingRPC(object):
    @zerorpc.stream
    def streaming_range(self, fr, to, step):
        return xrange(fr, to, step)

s = zerorpc.Server(StreamingRPC())
s.bind("tcp://0.0.0.0:4242")
s.run()

Client.py

import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")

for item in c.streaming_range(10, 20, 2):
    print item

第一类异常(First-class exception)

Server.py

import zerorpc

class ExceptionalRPC(object):
    def bad(self):
        raise Exception(":P")

s = zerorpc.Server(ExceptionalRPC())
s.bind("tcp://0.0.0.0:4242")
s.run()

Client.py

import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")

try:
    c.bad()
except Exception, e:
    print "An error occurred: %s" % e

文档

  • Pycon Vedio(在Utube上,需翻墙)
  • Pycon Notes
  • 协议介绍
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zerorpc-python官方入门 的相关文章

随机推荐

  • K8s常见面试题20问

    K8s常见面试题19问 收集了一些K8s常见问题和同学们面试常被问到的问题 如果有新的面试题私聊或者留言给我 1 Docker和虚拟机有那些不同 虚拟化环境下每个 VM 是一台完整的计算机 xff0c 在虚拟化硬件之上运行所有组件 xff0
  • Dockerfile常用命令

    Dockerfile常用命令 1 Dockerfile Dockerfile是一个文本文件 用一组指令来完成镜像的构建 每一条指令构建一层镜像 所有尽量将相同的命令合并成一行以减少中间镜像的层数 2 From 必须 指定基础镜像即我从哪里可
  • Kubesphere流水线实现蓝绿发布

    Kubesphere流水线实现蓝绿发布 1 Gitlab仓库准备 1 1 创建仓库 新建空白项目 名字随便取 greenweb 复制克隆地址 http 192 168 31 199 deploy greenweb git 1 2 初始化并上
  • 【NetWorkX实例(3)】图、边、节点等相关方法

    更全面的NetworkX中文使用手册 xff0c 请收藏 xff1a NetworkX中文使用手册 在 NetWorkX实例 1 基础操作一文中 xff0c 介绍了networkx中图的生成 xff0c 下面就介绍一下图 边 节点等相关方法
  • Python调用外部EXE程序遍历窗体及控件并获取控件信息。

    背景 我的工作中经常手工运行一个windows程序 xff08 密码生成工具 xff09 xff0c 获取该程序的计算结果 xff0c 手工填到登录表单的中 该程序非常久远 xff0c 已无人维护 根据凡是重复2次以上的工作都应该自动化原则
  • J-Link RTT Viewer使用教程(附代码)

    目录 RTT Real Time Transfer 简介 使用教程 常用API介绍 RTT缓冲大小修改 使用printf重定向 官方例程 RTT Real Time Transfer 简介 平常调试代码中使用串口打印log xff0c 往往
  • [问题记录]JNI的整型数组返回出现stack corruption

    问题记录 JNI的整型数组返回出现stack corruption 在项目中编写了一个返回整型数组的JNI代码 xff0c 但是在测试时发现问题 xff0c 会产生stack corruption错误 xff0c debug之后发现是ret
  • Android逆向系列--JDWP协议

    Android逆向系列 JDWP协议 背景简介使用源码调用参考 背景 经常会遇到各种各样需要使用jdwp知识的场景 xff0c 比如调试Java源码 比如抓帧等等 xff0c 这些关联知识点通常都会极其复杂 xff0c 如果不能很好的了解j
  • 银河麒麟V10桌面版系统将用户开发Qt界面程序添加为开机自启动

    银河麒麟V10桌面版系统将用户开发Qt界面程序添加为开机自启动 银河麒麟V10桌面版系统允许用户开发自己的qt界面程序并将其添加为开机自启动 这样 xff0c 每次开机后 xff0c 用户开发的qt界面程序会自动启动 xff0c 无需手动打
  • 环境搭建-Linux-Mysql安装-10.3.7-MariaDB-log MariaDB Server

    10 3 7 MariaDB log MariaDB Server 安装记录 linux 系统 CentOS7 无脑安装 sudo yum install y redhat lsbsudo yum install y net tools关闭
  • 200506--iOS之NSAttributedString类

    Class NSAttributedString A string that has associated attributes such as visual style hyperlinks or accessibility data f
  • 批处理文件(bat)之全彩滚动我爱你

    前言 xff1a 本文章分享利用bat文件制作炫彩的全屏滚动文字效果 xff0c 具体效果可关注我的抖音 xff0c 查看短视频介绍 代码实现 xff1a 64 echo off amp setlocal enabledelayedexpa
  • @Bean放入其引用Bean中初始化失败分析

    以下讨论的问题及术语均在SpringBoot框架下 xff0c 问题十分小众 xff0c 仅做整理记录 1 先说重点 Bean依赖属性的注入顺序 xff0c 与代码定义顺序无关 xff1b 最好是将 64 Bean注解配置的Bean放在 6
  • 使用BeanCopier抛出NullPointerException溯源

    问题 使用cglib提供的net sf cglib beans BeanCopier进行对象拷贝时 xff0c 抛出如下异常 xff1a Exception in thread span class token string 34 main
  • 自制Alfred/Wox插件推荐

    最近上手Alfred的使用 xff0c 日常工作中存在很多需要高频执行的连续性动作 xff0c 将这一系列动作封装成Workflow xff0c 通过命令触发 xff0c 对提升效率确有很大帮助 自己封装了一些简单的Workflow xff
  • Python删除某一目录下的空文件(夹)

    Python删除某一目录下的空文件 夹 用途 输入文件夹路径 xff0c 将此文件夹下所有的空文件夹和空文件删除 xff0c 算是文件操作的一个习作吧 我拿它做什么就不广而告之了 代码 span class hljs comment cod
  • Win10下pip的安装

    pip简介 pip 是一个安装和管理 Python 包的工具 xff0c 通过pip我们能够轻松地下载和卸载python的第三方包 原料 64位Windows10 专业版python 2 7 12 下载安装包 进入python官方网站 xf
  • Windows10通过一根网线进行远程桌面连接

    目的 xff1a 想要通过笔记本访问我台式机 给台式机设置IP地址 xff1a IP xff1a 192 168 0 2 子网掩码 xff1a 255 255 255 0 默认网关 xff1a 192 168 0 2 给笔记本设置ip地址
  • Python爬虫爬取动态页面思路+实例(一)

    简介 有时候 xff0c 我们天真无邪的使用urllib库或Scrapy下载HTML网页时会发现 xff0c 我们要提取的网页元素并不在我们下载到的HTML之中 xff0c 尽管它们在浏览器里看起来唾手可得 这说明我们想要的元素是在我们的某
  • zerorpc-python官方入门

    原文地址 xff1a http www zerorpc io 一个易于使用的 xff0c 直观的 xff0c 跨语言的RPC zerorpc是一个在服务端进程上提供分布式通信的轻量级的 可靠的跨语言的库 它基于ZeroMQ和MessageP