autobahn python的组件运行程序集合

autobahn-python-runners的Python项目详细描述


opendna autobahn python runners包提供了许多脚本 可用于启动Autobahn Python组件并将其连接到WAMP 路由器。

目录

  1. 安装
  2. 用法
  3. 命令行参数
  4. 扭曲流道
  5. 异步运行程序
  6. 异步多通道
  7. 路线图

安装

pip install autobahn-python-runners

安装包时,它将在 python环境的脚本路径:

  • run_twisted_component
  • run_asyncio_component
  • run_asyncio_components

或者,您可以使用pip install uvloop来增强事件循环性能 异步运行程序。为此,需要安装libuv

用法

可通过以下两种方法之一使用:

  1. 执行在安装过程中创建的一个脚本
  2. 使用标准的python -m方法执行其中一个模块

命令行参数

所有运行程序都支持以下命令行参数 包含在这个包中:

所需参数:

  • -c--component是指向高速公路Python的完全限定路径 组件类,例如some_org.some_package.some_module.SomeClass。可以是 或者使用WAMP_COMPONENTenvironment变量指定
  • -u--url是WAMP路由器连接到的URL 例如ws://localhost:8080。也可以使用 WAMP_URL环境变量
  • -r--realm是您正在连接的WAMP路由器上的一个域。例如。 my.realm.name。也可以使用^{tt19}指定$ 环境变量

可选参数:

  • -e--extra-file是将加载的json文件的路径,并且 通过 类构造函数方法
  • -s--use-ssl是将转换为布尔值并用于 指定是否应将ssl用于ws连接。这个 参数通常是不必要的,因为使用ssl的决定通常是 由WAMP路由器URL的WS协议选择决定。它是制造出来的 此处仅为完整起见提供
  • -l--loglevel用于指定运行程序使用的日志记录级别。 默认为info,其他允许值为criticalerrorwarningdebug
  • --serializers是指向高速公路Python序列化程序的完全限定路径 上课可以多次指定此参数

扭曲流道

扭曲转轮由^{tt32}提供$ 模块,可用于运行从 autobahn.twisted.ApplicationSession类。

异步运行程序

异步运行程序由^{tt34}提供$ 模块,可用于运行从 autobahn.asyncio.ApplicationSession类。

异步多通道

异步多运行程序由^{tt36}提供$ 模块,可用于运行从 autobahn.asyncio.ApplicationSession类在单个python进程中。

这些组件将在单个事件循环中运行,但每个组件将 建立到wamp路由器的单独ws连接。

Asyncio Multi Runner对参数选项进行以下更改:

  • -c/--component可以多次传递以指定 多个组件类。每个类实例都将连接到同一个 使用相关参数指定的WAMP路由器和领域
  • -e/--extra-file仍然可以使用,但在 它希望json文件包含一个普通对象,其中 key是使用-c/--component参数指定的组件类 与每个键相关联的值是要提供的数据的纯对象 到相关组件类ins通过 类构造函数方法
  • -n/--necromancy用于启用传输恢复功能。什么时候? 启用多通道将定期检查wamp连接 组件和路由器之间发生故障。如果检测到故障,则 将创建一个新的组件实例并尝试连接到路由器
  • --necromancy-sleep接受整数,默认为10。这个参数 指定将如何定期检查失败的wamp连接

路线图

完成时间:

  • 扭曲流道
  • 异步运行程序
  • 异步多通道
  • 基本文档
  • 对异步运行程序的uvloop支持
  • 多个跑步者可以透明地重新启动崩溃的组件

待办事项:

  • 测试

可能:

  • 扭曲多流道

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

推荐PyPI第三方库


热门话题
java如何保存CheckedTextView复选框的状态,使其在退出后保持选中状态?   java Jersey+EclipseLink+Tomcat抛出NPE和ApplicationPath“/”   java失败:WebSocket握手期间出错:意外响应代码:404   java将音频、mp3文件转换为字符串,反之亦然   Javasocket编程回调   java如何用rocoto实现覆盖属性策略?   javabeans使用Java访问修饰符的意义是什么?   java如何为Lagom中的静态资产提供服务?   异常为什么我的Java程序中出现“ArrayIndexOutofBond”错误?   swing Java:在闪存卡游戏中单击JButton时引发的NullPointerException   从App Engine Java flexible启动数据流模板时管道破裂   java检查前两位数字介于00和99之间   java Elasticsearch REST客户端MultiGet GetResult始终为空   使用ImageView的安卓中的java内存问题   java在Spring中禁用@Scheduled methods/Bean